Tell ASAN about fiber stacks
authorAndrew Cox <andrewcox@fb.com>
Thu, 17 Mar 2016 14:09:07 +0000 (07:09 -0700)
committerFacebook Github Bot 1 <facebook-github-bot-1-bot@fb.com>
Thu, 17 Mar 2016 14:20:20 +0000 (07:20 -0700)
commit2ea64dd24946cbc9f3f4ac3f6c6b98a486c56e73
treecc73781346815f26a604cbc7d401c34e50b7e64b
parentd9e0b59db5fce150845190686bf681b715e418ae
Tell ASAN about fiber stacks

Summary:ASAN needs to know about the stack extents. Currently it has no knowledge of
fibers and so it can give false positives, particularly in cases of no-return
(think exceptions).

See: https://github.com/google/sanitizers/issues/189

This change along with a related ASAN diff fixes that, and I've verified it
fixes false positive test failures I'm seeing when throws happen from fibers.

Also rips out some hacks that attempted to work around the limitations of
ASAN these changes should fix.

This change depends on:
D3017630
D2952854
D3017619

And will also depend on rollout of libasan.so to /usr/local/fbcode platform dirs on all machines.

Reviewed By: andriigrynenko

Differential Revision: D2952899

fb-gh-sync-id: 19da779227c6c0f30c5755806325aa4cba364cfe
shipit-source-id: 19da779227c6c0f30c5755806325aa4cba364cfe
folly/experimental/fibers/Fiber.cpp
folly/experimental/fibers/FiberManager-inl.h
folly/experimental/fibers/FiberManager.cpp
folly/experimental/fibers/FiberManager.h