This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libgomp/45485] New: OpenMP causes interprocess deadlock
- From: "h dot vogt at gom dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Sep 2010 16:28:34 -0000
- Subject: [Bug libgomp/45485] New: OpenMP causes interprocess deadlock
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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