[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