JDevlieghere added a comment.
After applying this patch I started seeing data races reported by TSan when
running the shell tests (`check-lldb-shell`). It seems to happen to different
tests on different runs but the backtraces are the same.
WARNING: ThreadSanitizer: data race (pid=40880)
Read of size 1 at 0x0001139ae0a8 by thread T3 (mutexes: write M4094, write
M119908344493401136):
#0
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseOperatorEncoding() ItaniumDemangle.h:3033
(liblldb.15.0.0git.dylib:arm64+0x555e668)
#1
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseOperatorName(llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::NameState*) ItaniumDemangle.h:3060
(liblldb.15.0.0git.dylib:arm64+0x55628dc)
#2
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseUnqualifiedName(llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::NameState*, llvm::itanium_demangle::Node*,
llvm::itanium_demangle::ModuleName*) ItaniumDemangle.h:2803
(liblldb.15.0.0git.dylib:arm64+0x5559ff0)
#3
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseName(llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::NameState*) ItaniumDemangle.h:2666
(liblldb.15.0.0git.dylib:arm64+0x5556c08)
#4
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseEncoding() ItaniumDemangle.h:5038
(liblldb.15.0.0git.dylib:arm64+0x555108c)
#5
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parse() ItaniumDemangle.h:5449
(liblldb.15.0.0git.dylib:arm64+0x554b9b0)
#6 llvm::ItaniumPartialDemangler::partialDemangle(char const*)
ItaniumDemangle.cpp:385 (liblldb.15.0.0git.dylib:arm64+0x554c2a0)
#7
lldb_private::RichManglingContext::FromItaniumName(lldb_private::ConstString)
RichManglingContext.cpp:42 (liblldb.15.0.0git.dylib:arm64+0x2df084)
#8
lldb_private::Mangled::GetRichManglingInfo(lldb_private::RichManglingContext&,
bool (*)(llvm::StringRef, lldb_private::Mangled::ManglingScheme))
Mangled.cpp:217 (liblldb.15.0.0git.dylib:arm64+0x2bfec4)
#9 lldb_private::Symtab::InitNameIndexes() Symtab.cpp:331
(liblldb.15.0.0git.dylib:arm64+0x41aaa0)
#10 lldb_private::Symtab::PreloadSymbols() Symtab.cpp:456
(liblldb.15.0.0git.dylib:arm64+0x41ba4c)
#11 lldb_private::Module::PreloadSymbols() Module.cpp:1378
(liblldb.15.0.0git.dylib:arm64+0x2c74d4)
#12
std::__1::__function::__func<std::__1::__bind<lldb_private::Target::ModulesDidLoad(lldb_private::ModuleList&)::$_0&,
unsigned long&>,
std::__1::allocator<std::__1::__bind<lldb_private::Target::ModulesDidLoad(lldb_private::ModuleList&)::$_0&,
unsigned long&> >, void ()>::operator()() function.h:352
(liblldb.15.0.0git.dylib:arm64+0x4d73e0)
#13
std::__1::__function::__func<llvm::ThreadPool::createTaskAndFuture(std::__1::function<void
()>)::'lambda'(),
std::__1::allocator<llvm::ThreadPool::createTaskAndFuture(std::__1::function<void
()>)::'lambda'()>, void ()>::operator()() function.h:352
(liblldb.15.0.0git.dylib:arm64+0x4d6920)
#14 void*
llvm::thread::ThreadProxy<std::__1::tuple<llvm::ThreadPool::grow(int)::$_0>
>(void*) thread.h:60 (liblldb.15.0.0git.dylib:arm64+0x9daa0c)
Previous write of size 1 at 0x0001139ae0a8 by thread T6 (mutexes: write
M26458652249517616, write M208572962157285296):
#0
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseOperatorEncoding() ItaniumDemangle.h:3034
(liblldb.15.0.0git.dylib:arm64+0x555e720)
#1
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseOperatorName(llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::NameState*) ItaniumDemangle.h:3060
(liblldb.15.0.0git.dylib:arm64+0x55628dc)
#2
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseUnqualifiedName(llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::NameState*, llvm::itanium_demangle::Node*,
llvm::itanium_demangle::ModuleName*) ItaniumDemangle.h:2803
(liblldb.15.0.0git.dylib:arm64+0x5559ff0)
#3
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseName(llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::NameState*) ItaniumDemangle.h:2666
(liblldb.15.0.0git.dylib:arm64+0x5556c08)
#4
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseEncoding() ItaniumDemangle.h:5038
(liblldb.15.0.0git.dylib:arm64+0x555108c)
#5
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parse() ItaniumDemangle.h:5449
(liblldb.15.0.0git.dylib:arm64+0x554b9b0)
#6 llvm::ItaniumPartialDemangler::partialDemangle(char const*)
ItaniumDemangle.cpp:385 (liblldb.15.0.0git.dylib:arm64+0x554c2a0)
#7
lldb_private::RichManglingContext::FromItaniumName(lldb_private::ConstString)
RichManglingContext.cpp:42 (liblldb.15.0.0git.dylib:arm64+0x2df084)
#8
lldb_private::Mangled::GetRichManglingInfo(lldb_private::RichManglingContext&,
bool (*)(llvm::StringRef, lldb_private::Mangled::ManglingScheme))
Mangled.cpp:217 (liblldb.15.0.0git.dylib:arm64+0x2bfec4)
#9 lldb_private::Symtab::InitNameIndexes() Symtab.cpp:331
(liblldb.15.0.0git.dylib:arm64+0x41aaa0)
#10 lldb_private::Symtab::PreloadSymbols() Symtab.cpp:456
(liblldb.15.0.0git.dylib:arm64+0x41ba4c)
#11 lldb_private::Module::PreloadSymbols() Module.cpp:1378
(liblldb.15.0.0git.dylib:arm64+0x2c74d4)
#12
std::__1::__function::__func<std::__1::__bind<lldb_private::Target::ModulesDidLoad(lldb_private::ModuleList&)::$_0&,
unsigned long&>,
std::__1::allocator<std::__1::__bind<lldb_private::Target::ModulesDidLoad(lldb_private::ModuleList&)::$_0&,
unsigned long&> >, void ()>::operator()() function.h:352
(liblldb.15.0.0git.dylib:arm64+0x4d73e0)
#13
std::__1::__function::__func<llvm::ThreadPool::createTaskAndFuture(std::__1::function<void
()>)::'lambda'(),
std::__1::allocator<llvm::ThreadPool::createTaskAndFuture(std::__1::function<void
()>)::'lambda'()>, void ()>::operator()() function.h:352
(liblldb.15.0.0git.dylib:arm64+0x4d6920)
#14 void*
llvm::thread::ThreadProxy<std::__1::tuple<llvm::ThreadPool::grow(int)::$_0>
>(void*) thread.h:60 (liblldb.15.0.0git.dylib:arm64+0x9daa0c)
Location is global
'llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseOperatorEncoding()::Done' at 0x0001139ae0a8
(liblldb.15.0.0git.dylib+0x83360a8)
Mutex M4094 (0x00010890b130) created at:
#0 pthread_mutex_init <null>:16654816
(libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3134c)
#1 std::__1::recursive_mutex::recursive_mutex() <null>:16654816
(libc++.1.dylib:arm64e+0xf24c)
#2 lldb_private::Module::Module(lldb_private::ModuleSpec const&)
Module.cpp:132 (liblldb.15.0.0git.dylib:arm64+0x2c186c)
#3 lldb_private::ModuleList::GetSharedModule(lldb_private::ModuleSpec
const&, std::__1::shared_ptr<lldb_private::Module>&, lldb_private::FileSpecList
const*, llvm::SmallVectorImpl<std::__1::shared_ptr<lldb_private::Module> >*,
bool*, bool) ModuleList.cpp:830 (liblldb.15.0.0git.dylib:arm64+0x2ccf24)
#4
lldb_private::PlatformDarwin::GetSharedModuleWithLocalCache(lldb_private::ModuleSpec
const&, std::__1::shared_ptr<lldb_private::Module>&,
lldb_private::FileSpecList const*,
llvm::SmallVectorImpl<std::__1::shared_ptr<lldb_private::Module> >*, bool*)
PlatformDarwin.cpp:262 (liblldb.15.0.0git.dylib:arm64+0x74c07c)
#5 lldb_private::PlatformMacOSX::GetSharedModule(lldb_private::ModuleSpec
const&, lldb_private::Process*, std::__1::shared_ptr<lldb_private::Module>&,
lldb_private::FileSpecList const*,
llvm::SmallVectorImpl<std::__1::shared_ptr<lldb_private::Module> >*, bool*)
PlatformMacOSX.cpp:176 (liblldb.15.0.0git.dylib:arm64+0x75aaf8)
#6 lldb_private::Target::GetOrCreateModule(lldb_private::ModuleSpec
const&, bool, lldb_private::Status*) Target.cpp:2118
(liblldb.15.0.0git.dylib:arm64+0x4c6d74)
#7
lldb_private::Target::SetExecutableModule(std::__1::shared_ptr<lldb_private::Module>&,
lldb_private::LoadDependentFiles) Target.cpp:1460
(liblldb.15.0.0git.dylib:arm64+0x4c6638)
#8
lldb_private::TargetList::CreateTargetInternal(lldb_private::Debugger&,
llvm::StringRef, lldb_private::ArchSpec const&,
lldb_private::LoadDependentFiles,
std::__1::shared_ptr<lldb_private::Platform>&,
std::__1::shared_ptr<lldb_private::Target>&) TargetList.cpp:320
(liblldb.15.0.0git.dylib:arm64+0x4e2ba8)
#9
lldb_private::TargetList::CreateTargetInternal(lldb_private::Debugger&,
llvm::StringRef, llvm::StringRef, lldb_private::LoadDependentFiles,
lldb_private::OptionGroupPlatform const*,
std::__1::shared_ptr<lldb_private::Target>&) TargetList.cpp:233
(liblldb.15.0.0git.dylib:arm64+0x4e1634)
#10 lldb_private::TargetList::CreateTarget(lldb_private::Debugger&,
llvm::StringRef, llvm::StringRef, lldb_private::LoadDependentFiles,
lldb_private::OptionGroupPlatform const*,
std::__1::shared_ptr<lldb_private::Target>&) TargetList.cpp:52
(liblldb.15.0.0git.dylib:arm64+0x4dffd4)
#11 CommandObjectTargetCreate::DoExecute(lldb_private::Args&,
lldb_private::CommandReturnObject&) CommandObjectTarget.cpp:314
(liblldb.15.0.0git.dylib:arm64+0x2764760)
#12 lldb_private::CommandObjectParsed::Execute(char const*,
lldb_private::CommandReturnObject&) CommandObject.cpp:998
(liblldb.15.0.0git.dylib:arm64+0x3b19c0)
#13 lldb_private::CommandInterpreter::HandleCommand(char const*,
lldb_private::LazyBool, lldb_private::CommandReturnObject&)
CommandInterpreter.cpp:1987 (liblldb.15.0.0git.dylib:arm64+0x3a4550)
#14
lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >&) CommandInterpreter.cpp:3059
(liblldb.15.0.0git.dylib:arm64+0x3a8a30)
#15 non-virtual thunk to
lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >&) CommandInterpreter.cpp
(liblldb.15.0.0git.dylib:arm64+0x3a8ecc)
#16 lldb_private::IOHandlerEditline::Run() IOHandler.cpp
(liblldb.15.0.0git.dylib:arm64+0x2948a4)
#17 lldb_private::Debugger::RunIOHandlers() Debugger.cpp:1009
(liblldb.15.0.0git.dylib:arm64+0x26f7ac)
#18
lldb_private::CommandInterpreter::RunCommandInterpreter(lldb_private::CommandInterpreterRunOptions&)
CommandInterpreter.cpp:3309 (liblldb.15.0.0git.dylib:arm64+0x3aa360)
#19
lldb::SBDebugger::RunCommandInterpreter(lldb::SBCommandInterpreterRunOptions
const&) SBDebugger.cpp:1224 (liblldb.15.0.0git.dylib:arm64+0x54cdc)
#20 Driver::MainLoop() Driver.cpp:575 (lldb:arm64+0x10000878c)
#21 main Driver.cpp:851 (lldb:arm64+0x100009aa8)
Mutex M119908344493401136 is already destroyed.
Mutex M26458652249517616 is already destroyed.
Mutex M208572962157285296 is already destroyed.
Thread T3 (tid=5516949, running) created by main thread at:
#0 pthread_create <null>:16654816
(libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2fe20)
#1 llvm::llvm_execute_on_thread_impl(void* (*)(void*), void*,
llvm::Optional<unsigned int>) Threading.inc:78
(liblldb.15.0.0git.dylib:arm64+0xa3ebe8)
#2 llvm::ThreadPool::grow(int) ThreadPool.cpp:37
(liblldb.15.0.0git.dylib:arm64+0x9da0c4)
#3 std::__1::shared_future<void>
llvm::ThreadPool::asyncImpl<void>(std::__1::function<void ()>) ThreadPool.h:124
(liblldb.15.0.0git.dylib:arm64+0x4d5dc4)
#4 lldb_private::Target::ModulesDidLoad(lldb_private::ModuleList&)
Target.cpp:1635 (liblldb.15.0.0git.dylib:arm64+0x4c7600)
#5
lldb_private::Target::SetExecutableModule(std::__1::shared_ptr<lldb_private::Module>&,
lldb_private::LoadDependentFiles) Target.cpp:1468
(liblldb.15.0.0git.dylib:arm64+0x4c6738)
#6
lldb_private::TargetList::CreateTargetInternal(lldb_private::Debugger&,
llvm::StringRef, lldb_private::ArchSpec const&,
lldb_private::LoadDependentFiles,
std::__1::shared_ptr<lldb_private::Platform>&,
std::__1::shared_ptr<lldb_private::Target>&) TargetList.cpp:320
(liblldb.15.0.0git.dylib:arm64+0x4e2ba8)
#7
lldb_private::TargetList::CreateTargetInternal(lldb_private::Debugger&,
llvm::StringRef, llvm::StringRef, lldb_private::LoadDependentFiles,
lldb_private::OptionGroupPlatform const*,
std::__1::shared_ptr<lldb_private::Target>&) TargetList.cpp:233
(liblldb.15.0.0git.dylib:arm64+0x4e1634)
#8 lldb_private::TargetList::CreateTarget(lldb_private::Debugger&,
llvm::StringRef, llvm::StringRef, lldb_private::LoadDependentFiles,
lldb_private::OptionGroupPlatform const*,
std::__1::shared_ptr<lldb_private::Target>&) TargetList.cpp:52
(liblldb.15.0.0git.dylib:arm64+0x4dffd4)
#9 CommandObjectTargetCreate::DoExecute(lldb_private::Args&,
lldb_private::CommandReturnObject&) CommandObjectTarget.cpp:314
(liblldb.15.0.0git.dylib:arm64+0x2764760)
#10 lldb_private::CommandObjectParsed::Execute(char const*,
lldb_private::CommandReturnObject&) CommandObject.cpp:998
(liblldb.15.0.0git.dylib:arm64+0x3b19c0)
#11 lldb_private::CommandInterpreter::HandleCommand(char const*,
lldb_private::LazyBool, lldb_private::CommandReturnObject&)
CommandInterpreter.cpp:1987 (liblldb.15.0.0git.dylib:arm64+0x3a4550)
#12
lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >&) CommandInterpreter.cpp:3059
(liblldb.15.0.0git.dylib:arm64+0x3a8a30)
#13 non-virtual thunk to
lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >&) CommandInterpreter.cpp
(liblldb.15.0.0git.dylib:arm64+0x3a8ecc)
#14 lldb_private::IOHandlerEditline::Run() IOHandler.cpp
(liblldb.15.0.0git.dylib:arm64+0x2948a4)
#15 lldb_private::Debugger::RunIOHandlers() Debugger.cpp:1009
(liblldb.15.0.0git.dylib:arm64+0x26f7ac)
#16
lldb_private::CommandInterpreter::RunCommandInterpreter(lldb_private::CommandInterpreterRunOptions&)
CommandInterpreter.cpp:3309 (liblldb.15.0.0git.dylib:arm64+0x3aa360)
#17
lldb::SBDebugger::RunCommandInterpreter(lldb::SBCommandInterpreterRunOptions
const&) SBDebugger.cpp:1224 (liblldb.15.0.0git.dylib:arm64+0x54cdc)
#18 Driver::MainLoop() Driver.cpp:575 (lldb:arm64+0x10000878c)
#19 main Driver.cpp:851 (lldb:arm64+0x100009aa8)
Thread T6 (tid=5516954, running) created by main thread at:
#0 pthread_create <null>:16654816
(libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2fe20)
#1 llvm::llvm_execute_on_thread_impl(void* (*)(void*), void*,
llvm::Optional<unsigned int>) Threading.inc:78
(liblldb.15.0.0git.dylib:arm64+0xa3ebe8)
#2 llvm::ThreadPool::grow(int) ThreadPool.cpp:37
(liblldb.15.0.0git.dylib:arm64+0x9d9fc8)
#3 std::__1::shared_future<void>
llvm::ThreadPool::asyncImpl<void>(std::__1::function<void ()>) ThreadPool.h:124
(liblldb.15.0.0git.dylib:arm64+0x4d5dc4)
#4 lldb_private::Target::ModulesDidLoad(lldb_private::ModuleList&)
Target.cpp:1635 (liblldb.15.0.0git.dylib:arm64+0x4c7600)
#5
lldb_private::Target::SetExecutableModule(std::__1::shared_ptr<lldb_private::Module>&,
lldb_private::LoadDependentFiles) Target.cpp:1468
(liblldb.15.0.0git.dylib:arm64+0x4c6738)
#6
lldb_private::TargetList::CreateTargetInternal(lldb_private::Debugger&,
llvm::StringRef, lldb_private::ArchSpec const&,
lldb_private::LoadDependentFiles,
std::__1::shared_ptr<lldb_private::Platform>&,
std::__1::shared_ptr<lldb_private::Target>&) TargetList.cpp:320
(liblldb.15.0.0git.dylib:arm64+0x4e2ba8)
#7
lldb_private::TargetList::CreateTargetInternal(lldb_private::Debugger&,
llvm::StringRef, llvm::StringRef, lldb_private::LoadDependentFiles,
lldb_private::OptionGroupPlatform const*,
std::__1::shared_ptr<lldb_private::Target>&) TargetList.cpp:233
(liblldb.15.0.0git.dylib:arm64+0x4e1634)
#8 lldb_private::TargetList::CreateTarget(lldb_private::Debugger&,
llvm::StringRef, llvm::StringRef, lldb_private::LoadDependentFiles,
lldb_private::OptionGroupPlatform const*,
std::__1::shared_ptr<lldb_private::Target>&) TargetList.cpp:52
(liblldb.15.0.0git.dylib:arm64+0x4dffd4)
#9 CommandObjectTargetCreate::DoExecute(lldb_private::Args&,
lldb_private::CommandReturnObject&) CommandObjectTarget.cpp:314
(liblldb.15.0.0git.dylib:arm64+0x2764760)
#10 lldb_private::CommandObjectParsed::Execute(char const*,
lldb_private::CommandReturnObject&) CommandObject.cpp:998
(liblldb.15.0.0git.dylib:arm64+0x3b19c0)
#11 lldb_private::CommandInterpreter::HandleCommand(char const*,
lldb_private::LazyBool, lldb_private::CommandReturnObject&)
CommandInterpreter.cpp:1987 (liblldb.15.0.0git.dylib:arm64+0x3a4550)
#12
lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >&) CommandInterpreter.cpp:3059
(liblldb.15.0.0git.dylib:arm64+0x3a8a30)
#13 non-virtual thunk to
lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >&) CommandInterpreter.cpp
(liblldb.15.0.0git.dylib:arm64+0x3a8ecc)
#14 lldb_private::IOHandlerEditline::Run() IOHandler.cpp
(liblldb.15.0.0git.dylib:arm64+0x2948a4)
#15 lldb_private::Debugger::RunIOHandlers() Debugger.cpp:1009
(liblldb.15.0.0git.dylib:arm64+0x26f7ac)
#16
lldb_private::CommandInterpreter::RunCommandInterpreter(lldb_private::CommandInterpreterRunOptions&)
CommandInterpreter.cpp:3309 (liblldb.15.0.0git.dylib:arm64+0x3aa360)
#17
lldb::SBDebugger::RunCommandInterpreter(lldb::SBCommandInterpreterRunOptions
const&) SBDebugger.cpp:1224 (liblldb.15.0.0git.dylib:arm64+0x54cdc)
#18 Driver::MainLoop() Driver.cpp:575 (lldb:arm64+0x10000878c)
#19 main Driver.cpp:851 (lldb:arm64+0x100009aa8)
SUMMARY: ThreadSanitizer: data race ItaniumDemangle.h:3033 in
llvm::itanium_demangle::AbstractManglingParser<llvm::itanium_demangle::ManglingParser<(anonymous
namespace)::DefaultAllocator>, (anonymous
namespace)::DefaultAllocator>::parseOperatorEncoding()
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122975/new/
https://reviews.llvm.org/D122975
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits