On a system with more than 8 cores the following program causes an interprocess deadlock if started twice. This Problem has been observed on following systems: 2 IntelCPUs with 4 Cores per CPU; 2 IntelCPUs with 6 Cores per CPU; 1 IntelCPUs with 6 Cores per CPU and Hyperthreading on (results in 12 virtual Cores).
The problem can be observed with gcc 4.4.1, gcc 4.4.4 and gcc 4.5.1 on Suse and Ubuntu systems. The program was compiled in the following way: gcc -fopenmp -o omp_test omp_test.c The program is not very useful in itself. It is a condensate of a real problem which causes a big software package to hang (from time to time) for a few minutes in a simple omp loop. This is the program: #include <omp.h> #define V_SIZ 1000 int main (int argc, char **argv) { unsigned int v[V_SIZ]; unsigned iter; for (iter = 0; iter < 1000000; iter++) { int i; #pragma omp parallel for for (i = 0; i < V_SIZ; i++) v[i] = 1; } return 0; } And gcc -v: Using built-in specs. Target: x86_64-suse-linux Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.4 --enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --program-suffix=-4.4 --enable-linux-futex --without-system-libunwind --with-arch-32=i586 --with-tune=generic --build=x86_64-suse-linux Thread model: posix gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux) -- Summary: OpenMP causes interprocess deadlock Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: libgomp AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: h dot vogt at gom dot com GCC target triplet: x86_64-suse-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45485