[Lldb-commits] [lldb] Avoid expression evaluation in libStdC++ std::vector<bool> synthetic children provider (PR #108414)
via lldb-commits
lldb-commits at lists.llvm.org
Thu Sep 12 14:40:38 PDT 2024
jeffreytan81 wrote:
@jimingham, sounds good. I will move the logic into ValueObject.
> TryAllThreads is true
I did not see any client code setting this to true, I assume this happens because `m_try_others` is true by default? Maybe we should set `m_try_others`'s default value to false to avoid side effect like this?
It sucks that we have to use timeout to guess and detect potential deadlock and resume all threads. On Windows, I remember I implemented the deadlock-free expression evaluation for VS debugger much accurately because Windows has an API to detect mutex block chain. With the APIs, I can even find out which dependency thread to resume to resolve the deadlock. It does not cover all synchronization situations though.
https://github.com/llvm/llvm-project/pull/108414
More information about the lldb-commits
mailing list