Skip to content

Dead lock when forking with coverage enabled in multithreaded environment #44137

@calixteman

Description

@calixteman
Bugzilla Link 44792
Resolution FIXED
Resolved on May 07, 2020 11:21
Version unspecified
OS Linux
Blocks #44654 #43900
CC @zmodem,@jfbastien,@marco-c,@sylvestre,@tstellar,@vedantk
Fixed by commit(s) bec223a f082d91

Extended Description

When forking, the mutex defined here:
https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/profile/GCDAProfiling.c#L67
must be reinitialized in child process else the mutex in a locked stated can be duplicate and then when a thread in child process attempts to lock it then it wait for ever.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions