[PATCH] D15189: [tsan] Introduce a "ignore_interceptors_accesses" option

Dmitry Vyukov via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 3 11:27:19 PST 2015


dvyukov added a comment.

> This flag, "ignore_interceptors_accesses", is intended as a temporary bring-up tool, so that TSan can actually be used on a GUI app.


Do we need to submit it then? How long will it live? What is supposed to be a permanent solution?

Can we have a test for these false positives? I am not sure whether it is possible to run GUI tests within lit tests. is it possible to use these libraries without GUI? It would be useful to have a test that just invokes some fat functions from system libraries and test that we don't report any races.

I think we want to use something along the lines of called_from_lib suppressions. Or we want to ignore mops from all libraries? I guess we want to handle memory access coming at least from the main binary, right?

Also I would prefer to pass the flag under the covers. This change is too pervasive, while all we need is:

  ScopedInterceptor::ScopedInterceptor(...) {
    if (...) {
      ThreadIgnoreBegin(thr_, pc_);
      unignore_ = true;
    }
  
  ScopedInterceptor::~ScopedInterceptor() {
    if (unignore_)
        ThreadIgnoreEnd(thr_, pc_);


http://reviews.llvm.org/D15189





More information about the llvm-commits mailing list