Previously, TSan was crashing on the first call to malloc from an
injected mach thread. Such threads are created via the
thread_create_running and then turned into a pthread via the
The reason for this is that TSan needs to do some initialization to
avoid crashing later inside interceptors. We identify a mach thread by
checking whether we have seen this thread before on "thread_start". All
other threads will be known (ThreadTid returns a valid thread
identifier); only mach threads, which don't receive the "thread_create"
event, haven't been registered with TSan yet.