New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LLDB: calling SBProcess::Kill() and SBProcess::ReadMemory() at the same time from two threads hang the debugger #391
Comments
For the third case, here is the stack trace of the related threads:
|
If two threads call SBProcess::Kill() and SBProcess::ReadMemory() at the same time, then the LLDB debugger hangs. Which will likely hang BN as well.
This can be triggered in several ways, first, as in #384, the string search thread is constantly reading the debugger memory, and trying to kill the target will cause the hang. Second, since a memory read can happen almost anytime during analysis, it is also very likely to happen when the debugger seems idle. Third, this can happen when the UI thread is updating the xref, leading to a BN hang directly.
This is likely an LLDB bug as well, because its API is said to be thread-safe, i.e., it should be fine to make concurrent calls from two threads since it internally uses lock to protect concurrent access.
Related to #384, #389
The text was updated successfully, but these errors were encountered: