This is an archive of the discontinued LLVM Phabricator instance.

[XRay] Guard call to postCurrentThreadFCT()
ClosedPublic

Authored by dberris on Oct 28 2018, 9:19 PM.

Details

Summary

Some cases where postCurrentThreadFCT() are not guarded by our
recursion guard. We've observed that sometimes these can lead to
deadlocks when some functions (like memcpy()) gets outlined and the
version of memcpy is XRay-instrumented, which can be materialised by the
compiler in the implementation of lower-level components used by the
profiling runtime.

This change ensures that all calls to postCurrentThreadFCT are guarded
by our thread-recursion guard, to prevent deadlocks.

Diff Detail

Repository
rL LLVM

Event Timeline

dberris created this revision.Oct 28 2018, 9:19 PM
This revision is now accepted and ready to land.Oct 28 2018, 10:02 PM
This revision was automatically updated to reflect the committed changes.