pytorch
e845158b - Assert that GIL is not held in blocking destructors (#57030)

Commit
3 years ago
Assert that GIL is not held in blocking destructors (#57030) Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/57030 PR #57029 is not perfect; there are still obscure situations in which we might allocate a shared_ptr to an RpcAgent that doesn't have a no GIL constructor, so this PR adds the other half of the equation: assert that we don't hold the GIL when running a blocking destructor. This makes it possible to detect potential deadlocks even if the code doesn't deadlock in practice (because you got lucky and none of the threads you blocked on tried to also take out the GIL). I considered whether or not to make this DEBUG_ONLY. For now it's not, so I can get better CI coverage, and because this test only happens in destructors of objects that die rarely. Signed-off-by: Edward Z. Yang <ezyang@fb.com> Test Plan: Imported from OSS Reviewed By: zou3519 Differential Revision: D28030582 Pulled By: ezyang fbshipit-source-id: a7d7f6545223c4823c7f6036dfe29bd2edaf60a5
Author
Parents
Loading