[PATCH] D81525: [Support] Ensure errs() is constructed after outs() and don't rerun tie when errs() is called

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 14:53:28 PDT 2020


MaskRay added a comment.

In D81525#2088503 <https://reviews.llvm.org/D81525#2088503>, @mehdi_amini wrote:

> In D81525#2088371 <https://reviews.llvm.org/D81525#2088371>, @MaskRay wrote:
>
> > > Unless there is an immediate resolution (and the discussion seems to indicate that it is worth taking our time here), can we revert the patch that introduces a TSAN failure?
> >
> > @mehdi_amini Pushing this patch will fix the issue.
>
>
> This patch isn't approved, and discussion is going on: the most straightforward way of addressing the bug is to revert *first* to remove the urgency here. It is easy to reapply with your change though when it is ready.


There have been several commits touching this area (there are dependent .debug_line commits as well). It is not a "reverting D81156 <https://reviews.llvm.org/D81156> and everything will be fine" state. You mentioned some TSAN failures so I asked what are affected. We need to figure out a good way to address the issue.

So far I believe pushing this and things will be fixed. (accessing outs()errs() concurrently is still racy - but accessing outs() concurrently & accessing errs() concurrently were already racy - I don't know what projects can actually trigger the code path)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D81525/new/

https://reviews.llvm.org/D81525





More information about the llvm-commits mailing list