llvm-project
62be92fe - [lldb] Fix data race on shared global ProcessProperties callback (#197980)

Commit
3 days ago
[lldb] Fix data race on shared global ProcessProperties callback (#197980) ProcessProperties::ProcessProperties was installing a per-process value-changed callback on ePropertyDisableLangRuntimeUnwindPlans. The property was declared Global in TargetProperties.td, so OptionValueProperties::CreateLocalCopy shared the underlying OptionValue across every ProcessProperties. Every Process constructor therefore wrote into the same std::function slot, racing with concurrent constructors and silently clobbering any earlier Process's callback. Found by ThreadSanitizer as part of #197792.
Author
Parents
Loading