Dear all,

I use the following code:
#include "stdlib.h"
#include "stdio.h"
#include "mpi.h"
#include "math.h"

#include "unistd.h" /* sleep */

int my_num, mpi_size ;

int
main(int argc, char *argv[])
{
  MPI_Init(&argc, &argv) ;

  MPI_Comm_rank(MPI_COMM_WORLD, &my_num);
  MPI_Comm_size(MPI_COMM_WORLD, &mpi_size);
  printf("%d calls MPI_Finalize()\n\n\n", my_num) ;

  MPI_Finalize() ;
}

I compile and run the code on two different architectures with their own 
version/installation of open-mpi, with the command lines:
$>mpicc -lm --std=c99 basis.c
$>mpiexec -n 1 a.out

On numerous runs of the executable, even with a nbproc equal to 1:

- Using a debian open-mpi v 1.2.7rc2 installation, my code always returns to 
shell after the call to MPI_Finalize()
Kernel is 2.6.34 SMP, Intel P9600 2 cores

- Using a homemade open-mpi v 1.4.2 installation, my code runs as expected, 
but instead of returning to the shell after the MPI_Finalize(), it can just 
hangs in Sl+ state.
Kernel is 2.6.18-53.1.19.el5 SMP (RedHat), Quad-Core AMD Opteron 8356

I join the ompi_info of the 2 archs. I surely miss something... but what?

.Yves.
>ompi_info
                Open MPI: 1.2.7rc2
   Open MPI SVN revision: r18788
                Open RTE: 1.2.7rc2
   Open RTE SVN revision: r18788
                    OPAL: 1.2.7rc2
       OPAL SVN revision: r18788
                  Prefix: /usr
 Configured architecture: x86_64-pc-linux-gnu
           Configured by: pbuilder
           Configured on: Mon Aug 25 21:27:31 UTC 2008
          Configure host: charlie
                Built by: root
                Built on: Mon Aug 25 21:34:47 UTC 2008
              Built host: charlie
              C bindings: yes
            C++ bindings: yes
      Fortran77 bindings: yes (all)
      Fortran90 bindings: yes
 Fortran90 bindings size: small
              C compiler: gcc
     C compiler absolute: /usr/bin/gcc
            C++ compiler: g++
   C++ compiler absolute: /usr/bin/g++
      Fortran77 compiler: gfortran
  Fortran77 compiler abs: /usr/bin/gfortran
      Fortran90 compiler: gfortran
  Fortran90 compiler abs: /usr/bin/gfortran
             C profiling: yes
           C++ profiling: yes
     Fortran77 profiling: yes
     Fortran90 profiling: yes
          C++ exceptions: no
          Thread support: posix (mpi: no, progress: no)
  Internal debug support: no
     MPI parameter check: runtime
Memory profiling support: no
Memory debugging support: no
         libltdl support: yes
   Heterogeneous support: yes
 mpirun default --prefix: no
           MCA backtrace: execinfo (MCA v1.0, API v1.0, Component v1.2.7)
              MCA memory: ptmalloc2 (MCA v1.0, API v1.0, Component v1.2.7)
           MCA paffinity: linux (MCA v1.0, API v1.0, Component v1.2.7)
           MCA maffinity: first_use (MCA v1.0, API v1.0, Component v1.2.7)
               MCA timer: linux (MCA v1.0, API v1.0, Component v1.2.7)
         MCA installdirs: env (MCA v1.0, API v1.0, Component v1.2.7)
         MCA installdirs: config (MCA v1.0, API v1.0, Component v1.2.7)
           MCA allocator: basic (MCA v1.0, API v1.0, Component v1.0)
           MCA allocator: bucket (MCA v1.0, API v1.0, Component v1.0)
                MCA coll: basic (MCA v1.0, API v1.0, Component v1.2.7)
                MCA coll: self (MCA v1.0, API v1.0, Component v1.2.7)
                MCA coll: sm (MCA v1.0, API v1.0, Component v1.2.7)
                MCA coll: tuned (MCA v1.0, API v1.0, Component v1.2.7)
                  MCA io: romio (MCA v1.0, API v1.0, Component v1.2.7)
               MCA mpool: rdma (MCA v1.0, API v1.0, Component v1.2.7)
               MCA mpool: sm (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA pml: cm (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA pml: ob1 (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA bml: r2 (MCA v1.0, API v1.0, Component v1.2.7)
              MCA rcache: vma (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA btl: openib (MCA v1.0, API v1.0.1, Component v1.2.7)
                 MCA btl: self (MCA v1.0, API v1.0.1, Component v1.2.7)
                 MCA btl: sm (MCA v1.0, API v1.0.1, Component v1.2.7)
                 MCA btl: tcp (MCA v1.0, API v1.0.1, Component v1.0)
                MCA topo: unity (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA osc: pt2pt (MCA v1.0, API v1.0, Component v1.2.7)
              MCA errmgr: hnp (MCA v1.0, API v1.3, Component v1.2.7)
              MCA errmgr: orted (MCA v1.0, API v1.3, Component v1.2.7)
              MCA errmgr: proxy (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA gpr: null (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA gpr: proxy (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA gpr: replica (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA iof: proxy (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA iof: svc (MCA v1.0, API v1.0, Component v1.2.7)
                  MCA ns: proxy (MCA v1.0, API v2.0, Component v1.2.7)
                  MCA ns: replica (MCA v1.0, API v2.0, Component v1.2.7)
                 MCA oob: tcp (MCA v1.0, API v1.0, Component v1.0)
                 MCA ras: dash_host (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA ras: gridengine (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA ras: localhost (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA ras: slurm (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA rds: hostfile (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA rds: proxy (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA rds: resfile (MCA v1.0, API v1.3, Component v1.2.7)
               MCA rmaps: round_robin (MCA v1.0, API v1.3, Component v1.2.7)
                MCA rmgr: proxy (MCA v1.0, API v2.0, Component v1.2.7)
                MCA rmgr: urm (MCA v1.0, API v2.0, Component v1.2.7)
                 MCA rml: oob (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA pls: gridengine (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA pls: proxy (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA pls: rsh (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA pls: slurm (MCA v1.0, API v1.3, Component v1.2.7)
                 MCA sds: env (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA sds: pipe (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA sds: seed (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA sds: singleton (MCA v1.0, API v1.0, Component v1.2.7)
                 MCA sds: slurm (MCA v1.0, API v1.0, Component v1.2.7)
>ompi_info
                 Package: Open MPI p10015@ha8000-1 Distribution
                Open MPI: 1.4.2
   Open MPI SVN revision: r23093
   Open MPI release date: May 04, 2010
                Open RTE: 1.4.2
   Open RTE SVN revision: r23093
   Open RTE release date: May 04, 2010
                    OPAL: 1.4.2
       OPAL SVN revision: r23093
       OPAL release date: May 04, 2010
            Ident string: 1.4.2
                  Prefix: /home/p10015/openmpi
 Configured architecture: x86_64-unknown-linux-gnu
          Configure host: ha8000-1
           Configured by: p10015
           Configured on: Wed May 19 19:01:19 JST 2010
          Configure host: ha8000-1
                Built by: p10015
                Built on: Wed May 19 21:03:33 JST 2010
              Built host: ha8000-1
              C bindings: yes
            C++ bindings: yes
      Fortran77 bindings: yes (all)
      Fortran90 bindings: yes
 Fortran90 bindings size: small
              C compiler: 
/home/p10015/gcc/bin/x86_64-unknown-linux-gnu-gcc-4.5.0
     C compiler absolute:
            C++ compiler: /home/p10015/gcc/bin/x86_64-unknown-linux-gnu-g++
   C++ compiler absolute:
      Fortran77 compiler: gfortran
  Fortran77 compiler abs: /usr/bin/gfortran
      Fortran90 compiler: gfortran
  Fortran90 compiler abs: /usr/bin/gfortran
             C profiling: yes
           C++ profiling: yes
     Fortran77 profiling: yes
     Fortran90 profiling: yes
          C++ exceptions: no
          Thread support: posix (mpi: yes, progress: yes)
           Sparse Groups: yes
  Internal debug support: no
     MPI parameter check: runtime
Memory profiling support: no
Memory debugging support: no
         libltdl support: yes
   Heterogeneous support: yes
 mpirun default --prefix: yes
         MPI I/O support: yes
       MPI_WTIME support: gettimeofday
Symbol visibility support: yes
   FT Checkpoint support: no  (checkpoint thread: no)
           MCA backtrace: execinfo (MCA v2.0, API v2.0, Component v1.4.2)
              MCA memory: ptmalloc2 (MCA v2.0, API v2.0, Component v1.4.2)
           MCA paffinity: linux (MCA v2.0, API v2.0, Component v1.4.2)
               MCA carto: auto_detect (MCA v2.0, API v2.0, Component v1.4.2)
               MCA carto: file (MCA v2.0, API v2.0, Component v1.4.2)
           MCA maffinity: first_use (MCA v2.0, API v2.0, Component v1.4.2)
           MCA maffinity: libnuma (MCA v2.0, API v2.0, Component v1.4.2)
               MCA timer: linux (MCA v2.0, API v2.0, Component v1.4.2)
         MCA installdirs: env (MCA v2.0, API v2.0, Component v1.4.2)
         MCA installdirs: config (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA dpm: orte (MCA v2.0, API v2.0, Component v1.4.2)
              MCA pubsub: orte (MCA v2.0, API v2.0, Component v1.4.2)
           MCA allocator: basic (MCA v2.0, API v2.0, Component v1.4.2)
           MCA allocator: bucket (MCA v2.0, API v2.0, Component v1.4.2)
                MCA coll: basic (MCA v2.0, API v2.0, Component v1.4.2)
                MCA coll: hierarch (MCA v2.0, API v2.0, Component v1.4.2)
                MCA coll: inter (MCA v2.0, API v2.0, Component v1.4.2)
                MCA coll: self (MCA v2.0, API v2.0, Component v1.4.2)
                MCA coll: sm (MCA v2.0, API v2.0, Component v1.4.2)
                MCA coll: sync (MCA v2.0, API v2.0, Component v1.4.2)
                MCA coll: tuned (MCA v2.0, API v2.0, Component v1.4.2)
                  MCA io: romio (MCA v2.0, API v2.0, Component v1.4.2)
               MCA mpool: fake (MCA v2.0, API v2.0, Component v1.4.2)
               MCA mpool: rdma (MCA v2.0, API v2.0, Component v1.4.2)
               MCA mpool: sm (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA pml: cm (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA pml: csum (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA pml: ob1 (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA pml: v (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA bml: r2 (MCA v2.0, API v2.0, Component v1.4.2)
              MCA rcache: vma (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA btl: self (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA btl: sm (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA btl: tcp (MCA v2.0, API v2.0, Component v1.4.2)
                MCA topo: unity (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA osc: pt2pt (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA osc: rdma (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA iof: hnp (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA iof: orted (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA iof: tool (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA oob: tcp (MCA v2.0, API v2.0, Component v1.4.2)
                MCA odls: default (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA ras: slurm (MCA v2.0, API v2.0, Component v1.4.2)
               MCA rmaps: load_balance (MCA v2.0, API v2.0, Component v1.4.2)
               MCA rmaps: rank_file (MCA v2.0, API v2.0, Component v1.4.2)
               MCA rmaps: round_robin (MCA v2.0, API v2.0, Component v1.4.2)
               MCA rmaps: seq (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA rml: oob (MCA v2.0, API v2.0, Component v1.4.2)
              MCA routed: binomial (MCA v2.0, API v2.0, Component v1.4.2)
              MCA routed: direct (MCA v2.0, API v2.0, Component v1.4.2)
              MCA routed: linear (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA plm: rsh (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA plm: slurm (MCA v2.0, API v2.0, Component v1.4.2)
               MCA filem: rsh (MCA v2.0, API v2.0, Component v1.4.2)
              MCA errmgr: default (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA ess: env (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA ess: hnp (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA ess: singleton (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA ess: slurm (MCA v2.0, API v2.0, Component v1.4.2)
                 MCA ess: tool (MCA v2.0, API v2.0, Component v1.4.2)
             MCA grpcomm: bad (MCA v2.0, API v2.0, Component v1.4.2)
             MCA grpcomm: basic (MCA v2.0, API v2.0, Component v1.4.2)

Reply via email to