[all-commits] [llvm/llvm-project] 2d4571: [OpenMP][Tool] Runtime warning for missing TSan-op...

Joachim via All-commits all-commits at lists.llvm.org
Tue Jan 14 11:59:56 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2d4571bf3060f8f3d8417a0ec55e21a280158069
      https://github.com/llvm/llvm-project/commit/2d4571bf3060f8f3d8417a0ec55e21a280158069
  Author: Joachim Protze <protze at itc.rwth-aachen.de>
  Date:   2020-01-14 (Tue, 14 Jan 2020)

  Changed paths:
    M openmp/CREDITS.txt
    M openmp/tools/archer/ompt-tsan.cpp

  Log Message:
  -----------
  [OpenMP][Tool] Runtime warning for missing TSan-option

TSan spuriously reports for any OpenMP application a race on the initialization
of a runtime internal mutex:

```
Atomic read of size 1 at 0x7b6800005940 by thread T4:
  #0 pthread_mutex_lock <null> (a.out+0x43f39e)
  #1 __kmp_resume_64 <null> (libomp.so.5+0x84db4)

Previous write of size 1 at 0x7b6800005940 by thread T7:
  #0 pthread_mutex_init <null> (a.out+0x424793)
  #1 __kmp_suspend_initialize_thread <null> (libomp.so.5+0x8422e)
```

According to @AndreyChurbanov this is a false positive report, as the control
flow of the runtime guarantees the ordering of the mutex initialization and
the lock:
https://software.intel.com/en-us/forums/intel-open-source-openmp-runtime-library/topic/530363

To suppress this report, I suggest the use of
TSAN_OPTIONS='ignore_uninstrumented_modules=1'.
With this patch, a runtime warning is provided in case an OpenMP application
is built with Tsan and executed without this Tsan-option.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D70412




More information about the All-commits mailing list