{"push_id":1372945200,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e1a7c1982ed5ac6faee619ba1d03269ea5421c6a","before":"4497ffc69234e0637e3eb2beebd2d009f10f2228","commits":[{"sha":"e1a7c1982ed5ac6faee619ba1d03269ea5421c6a","author":{"name":"Maxim Ostapenko","email":"0510992ce57bda51d3485532ac7b8b1ebecad874@partner.samsung.com"},"message":"[asan/lsan] Avoid possible deadlock in dynamic ASan runtime thread initialization.\n\nThere is possible deadlock in dynamic ASan runtime when we dlopen() shared lib\nwhich creates a thread at the global initialization stage. The scenario:\n\n1) dlopen grabs a GI_pthread_mutex_lock in main thread.\n2) main thread calls pthread_create, ASan intercepts it, calls real pthread_create\n   and waits for the second thread to be \"fully initialized\".\n3) Newly created thread tries to access a thread local disable_counter in LSan\n   (to complete its \"full initialization\") and hangs in tls_get_addr_tail, because\n   it also tries to acquire GI_pthread_mutex_lock.\n\nThe issue is reproducible on relative recent Glibc versions e.g. 2.23.\n\nDifferential Revision: https://reviews.llvm.org/D26028","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/e1a7c1982ed5ac6faee619ba1d03269ea5421c6a"}]}
{"actor":{"display_login":"chapuni"}}