Is anyone else seeing segfaults in the orph_test_omp_parallel_copyin
test case from the OpenMP3.1_Validation test suite? On
x86_64-apple-darwin15, todays trunk produces,
Jacks-Mac-Pro:c howarth$ clang-3.8 -fopenmp -O0 -g
orph_test_omp_parallel_copyin.c -o orph_test_omp_parallel_copyin
Jacks-Mac-Pro:c howarth$ lldb ./orph_test_omp_parallel_copyin
(lldb) target create "./orph_test_omp_parallel_copyin"
Current executable set to './orph_test_omp_parallel_copyin' (x86_64).
(lldb) r
Process 38235 launched: './orph_test_omp_parallel_copyin' (x86_64)
######## OpenMP Validation Suite V 3.0a ######
## Repetitions: 20 ####
## Loop Count : 1000 ####
Are you using trunk versions of both clang and libomp? I only use the check-libomp target now in CMake and don't see any problems with the trunk version of libomp on Darwin. Can you send me the source file for orph_test_omp_parallel_copyin.c and I'll take a look at it.
-- Johnny
Jonathan,
The attached header omp_testsuite.h and
orph_test_omp_parallel_copyin.c source file are required to reproduce
the crash at any optimization level using -fopenmp.
Jack
omp_testsuite.h (12 KB)
orph_test_omp_parallel_copyin.c (3.11 KB)
Jack,
I wasn't able to replicate it at first go. Can you tell me the OSX version, and perhaps the exact revision numbers for clang/llvm?
-- Johnny
Jonathan,
I am having trouble reproducing it outside of the
OpenMP3.1_Validation Makefile framework. However, when executing
'make clean' and 'make ctest' using clang 3.8svn built against Xcode
7.2 on OS X 10.11.2, I have determined that ...
CFLAGS = -fopenmp -lm -Os
CFLAGS = -fopenmp -lm -O3
CFLAGS = -fopenmp -lm -O2
all will trigger the segfault in the resulting
orph_test_omp_parallel_copyin test case whereas...
CFLAGS = -fopenmp -lm -O1
CFLAGS = -fopenmp -lm -O0
CFLAGS = -fopenmp -lm -Os -g
CFLAGS = -fopenmp -lm -O3 -g
CFLAGS = -fopenmp -lm -O2 -g
CFLAGS = -fopenmp -lm -O1 -g
CFLAGS = -fopenmp -lm -O0 -g
all suppress the problem. See
https://llvm.org/bugs/show_bug.cgi?id=25820#c6 for a backtrace of the
segfaulting orph_test_omp_parallel_copyin test case built at -fopenmp
-O3.
Jack
ps This problem doesn't exist when using clang 3.7.0 built under Xcode
7.2 on OS X 10.11.2 so it is a new regression in clang 3.8svn.
Jonathan,
I can reproduce the segfault with previously attached source files by
executing...
$ mkdir -p bin/c
$ mv omp_testsuite.h bin/c
$ mv orph_test_omp_parallel_copyin.c bin/c
$ clang-3.8 -fopenmp -O2 bin/c/orph_test_omp_parallel_copyin.c -o
bin/c/orph_test_omp_parallel_copyin
$ ./bin/c/orph_test_omp_parallel_copyin
######## OpenMP Validation Suite V 3.0a ######
## Repetitions: 20 ####
## Loop Count : 1000 ####