You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TSan does not support raw clone syscall.
It could, but it would tsan changes and the code still needs to be annotated with sanitizer syscall annotations <sanitizer/linux_syscall_hooks.h>.
A much easier route is to use fork/vfork when building with tsan. It should fix the deadlock.
Clone syscall appeared in this code some time ago as an attempt to workaround hangs under sanitizers. I'll try vfork again and reopen this issue in case of problems.
TSan intercepts vfork, so it's intended to work, and if something doesn't work, it's at least possible to fix things (which is not possible with clone because tsan is simply not aware of the call).
Backtrace at the moment of hang:
Relevant code:
It seems that we've forked while holding this spin lock https://github.com/llvm-project/compiler-rt/blob/master/lib/sanitizer_common/sanitizer_persistent_allocator.h#L29. This issue looks similar to this problem with asan #774 .
The text was updated successfully, but these errors were encountered: