Hi all,

a wonderful puzzle for the OSX folks in your team (Reproducer attached):

Attached source file builds with Xcode 7.0.0, but fails since the release of 
Xcode 7.0.1. I post it here since it results from an "if (MPI_COMM_NULL == 
MPI_COMM_SELF)". I am actually curious whether this is somehow off by itself, 
or whether it has something to do with how you define these constants. Overall, 
the situation is that this worked with previous clang compilers (and that it 
again works for more recent versions from mac-ports), so likely not your fault 
at all.

The issue I get is:
$ mpicc osx-10.10.5-xcode-7.0.1-openmpi-problem.c 
clang: error: unable to execute command: Segmentation fault: 11
clang: error: clang frontend command failed due to signal (use -v to see 
invocation)
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to 
http://developer.apple.com/bugreporter/ and include the crash backtrace, 
preprocessed source, and associated run script.
clang: note: diagnostic msg: 
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
...
********************

As I said above the culprit is "if (MPI_COMM_NULL == MPI_COMM_SELF)".
Also, this doesn't works either:
-  "if (MPI_COMM_SELF == MPI_COMM_NULL)"
But then, these work:
-  "if (MPI_COMM_SELF == MPI_COMM_WORLD)"
-  "if (MPI_COMM_WORLD == MPI_COMM_SELF)"

So it appears it has something to do with MPI_COMM_NULL specifically.

Maybe you already know of the issue. Maybe you can provide something to 
alleviate this issue in your releases, since it may take a while until we get a 
newer Xcode version on most OSX'es.

My "ompi_info" is at the bottom of the mail.

With that thanks for your looking into this, and many thanks for your wonderful 
MPI implementation,
-Tobias

$ ompi_info 
               Package: Open MPI saibot@Tobiass-MacBook-Pro.local
                        Distribution
              Open MPI: 1.8.4
Open MPI repo revision: v1.8.3-330-g0344f04
 Open MPI release date: Dec 19, 2014
              Open RTE: 1.8.4
Open RTE repo revision: v1.8.3-330-g0344f04
 Open RTE release date: Dec 19, 2014
                  OPAL: 1.8.4
    OPAL repo revision: v1.8.3-330-g0344f04
     OPAL release date: Dec 19, 2014
               MPI API: 3.0
          Ident string: 1.8.4
                Prefix: /Users/saibot/local/openmpi-1.8.4
Configured architecture: x86_64-apple-darwin14.0.0
        Configure host: Tobiass-MacBook-Pro.local
         Configured by: saibot
         Configured on: Sun Jan  4 09:27:07 CET 2015
        Configure host: Tobiass-MacBook-Pro.local
              Built by: saibot
              Built on: Sun Jan  4 09:33:26 CET 2015
            Built host: Tobiass-MacBook-Pro.local
            C bindings: yes
          C++ bindings: yes
           Fort mpif.h: no
          Fort use mpi: no
     Fort use mpi size: deprecated-ompi-info-value
      Fort use mpi_f08: no
Fort mpi_f08 compliance: The mpi_f08 module was not built
Fort mpi_f08 subarrays: no
         Java bindings: no
Wrapper compiler rpath: unnecessary
            C compiler: gcc
   C compiler absolute: /usr/bin/gcc
C compiler family name: GNU
    C compiler version: 4.2.1
          C++ compiler: g++
 C++ compiler absolute: /usr/bin/g++
         Fort compiler: none
     Fort compiler abs: none
       Fort ignore TKR: no
 Fort 08 assumed shape: no
    Fort optional args: no
        Fort INTERFACE: no
  Fort ISO_FORTRAN_ENV: no
     Fort STORAGE_SIZE: no
    Fort BIND(C) (all): no
    Fort ISO_C_BINDING: no
Fort SUBROUTINE BIND(C): no
     Fort TYPE,BIND(C): no
Fort T,BIND(C,name="a"): no
          Fort PRIVATE: no
        Fort PROTECTED: no
         Fort ABSTRACT: no
     Fort ASYNCHRONOUS: no
        Fort PROCEDURE: no
         Fort C_FUNLOC: no
Fort f08 using wrappers: no
       Fort MPI_SIZEOF: no
           C profiling: yes
         C++ profiling: yes
 Fort mpif.h profiling: no
Fort use mpi profiling: no
 Fort use mpi_f08 prof: no
        C++ exceptions: no
        Thread support: posix (MPI_THREAD_MULTIPLE: no, OPAL support: yes,
                        OMPI progress: no, ORTE progress: yes, Event lib:
                        yes)
         Sparse Groups: no
Internal debug support: no
MPI interface warnings: yes
   MPI parameter check: runtime
Memory profiling support: no
Memory debugging support: no
       libltdl support: yes
 Heterogeneous support: no
mpirun default --prefix: no
       MPI I/O support: yes
     MPI_WTIME support: gettimeofday
   Symbol vis. support: yes
 Host topology support: yes
        MPI extensions: 
 FT Checkpoint support: no (checkpoint thread: no)
 C/R Enabled Debugging: no
   VampirTrace support: yes
MPI_MAX_PROCESSOR_NAME: 256
  MPI_MAX_ERROR_STRING: 256
   MPI_MAX_OBJECT_NAME: 64
      MPI_MAX_INFO_KEY: 36
      MPI_MAX_INFO_VAL: 256
     MPI_MAX_PORT_NAME: 1024
MPI_MAX_DATAREP_STRING: 128
         MCA backtrace: execinfo (MCA v2.0, API v2.0, Component v1.8.4)
          MCA compress: bzip (MCA v2.0, API v2.0, Component v1.8.4)
          MCA compress: gzip (MCA v2.0, API v2.0, Component v1.8.4)
               MCA crs: none (MCA v2.0, API v2.0, Component v1.8.4)
                MCA db: hash (MCA v2.0, API v1.0, Component v1.8.4)
                MCA db: print (MCA v2.0, API v1.0, Component v1.8.4)
             MCA event: libevent2021 (MCA v2.0, API v2.0, Component v1.8.4)
             MCA hwloc: hwloc191 (MCA v2.0, API v2.0, Component v1.8.4)
                MCA if: bsdx_ipv6 (MCA v2.0, API v2.0, Component v1.8.4)
                MCA if: posix_ipv4 (MCA v2.0, API v2.0, Component v1.8.4)
       MCA installdirs: env (MCA v2.0, API v2.0, Component v1.8.4)
       MCA installdirs: config (MCA v2.0, API v2.0, Component v1.8.4)
             MCA pstat: test (MCA v2.0, API v2.0, Component v1.8.4)
               MCA sec: basic (MCA v2.0, API v1.0, Component v1.8.4)
             MCA shmem: mmap (MCA v2.0, API v2.0, Component v1.8.4)
             MCA shmem: posix (MCA v2.0, API v2.0, Component v1.8.4)
             MCA shmem: sysv (MCA v2.0, API v2.0, Component v1.8.4)
             MCA timer: darwin (MCA v2.0, API v2.0, Component v1.8.4)
               MCA dfs: app (MCA v2.0, API v1.0, Component v1.8.4)
               MCA dfs: orted (MCA v2.0, API v1.0, Component v1.8.4)
               MCA dfs: test (MCA v2.0, API v1.0, Component v1.8.4)
            MCA errmgr: default_app (MCA v2.0, API v3.0, Component v1.8.4)
            MCA errmgr: default_hnp (MCA v2.0, API v3.0, Component v1.8.4)
            MCA errmgr: default_orted (MCA v2.0, API v3.0, Component
                        v1.8.4)
            MCA errmgr: default_tool (MCA v2.0, API v3.0, Component v1.8.4)
               MCA ess: env (MCA v2.0, API v3.0, Component v1.8.4)
               MCA ess: hnp (MCA v2.0, API v3.0, Component v1.8.4)
               MCA ess: singleton (MCA v2.0, API v3.0, Component v1.8.4)
               MCA ess: slurm (MCA v2.0, API v3.0, Component v1.8.4)
               MCA ess: tool (MCA v2.0, API v3.0, Component v1.8.4)
             MCA filem: raw (MCA v2.0, API v2.0, Component v1.8.4)
           MCA grpcomm: bad (MCA v2.0, API v2.0, Component v1.8.4)
               MCA iof: hnp (MCA v2.0, API v2.0, Component v1.8.4)
               MCA iof: mr_hnp (MCA v2.0, API v2.0, Component v1.8.4)
               MCA iof: mr_orted (MCA v2.0, API v2.0, Component v1.8.4)
               MCA iof: orted (MCA v2.0, API v2.0, Component v1.8.4)
               MCA iof: tool (MCA v2.0, API v2.0, Component v1.8.4)
              MCA odls: default (MCA v2.0, API v2.0, Component v1.8.4)
               MCA oob: tcp (MCA v2.0, API v2.0, Component v1.8.4)
               MCA plm: isolated (MCA v2.0, API v2.0, Component v1.8.4)
               MCA plm: rsh (MCA v2.0, API v2.0, Component v1.8.4)
               MCA plm: slurm (MCA v2.0, API v2.0, Component v1.8.4)
               MCA ras: simulator (MCA v2.0, API v2.0, Component v1.8.4)
               MCA ras: slurm (MCA v2.0, API v2.0, Component v1.8.4)
             MCA rmaps: lama (MCA v2.0, API v2.0, Component v1.8.4)
             MCA rmaps: mindist (MCA v2.0, API v2.0, Component v1.8.4)
             MCA rmaps: ppr (MCA v2.0, API v2.0, Component v1.8.4)
             MCA rmaps: rank_file (MCA v2.0, API v2.0, Component v1.8.4)
             MCA rmaps: resilient (MCA v2.0, API v2.0, Component v1.8.4)
             MCA rmaps: round_robin (MCA v2.0, API v2.0, Component v1.8.4)
             MCA rmaps: seq (MCA v2.0, API v2.0, Component v1.8.4)
             MCA rmaps: staged (MCA v2.0, API v2.0, Component v1.8.4)
               MCA rml: oob (MCA v2.0, API v2.0, Component v1.8.4)
            MCA routed: binomial (MCA v2.0, API v2.0, Component v1.8.4)
            MCA routed: debruijn (MCA v2.0, API v2.0, Component v1.8.4)
            MCA routed: direct (MCA v2.0, API v2.0, Component v1.8.4)
            MCA routed: radix (MCA v2.0, API v2.0, Component v1.8.4)
             MCA state: app (MCA v2.0, API v1.0, Component v1.8.4)
             MCA state: hnp (MCA v2.0, API v1.0, Component v1.8.4)
             MCA state: novm (MCA v2.0, API v1.0, Component v1.8.4)
             MCA state: orted (MCA v2.0, API v1.0, Component v1.8.4)
             MCA state: staged_hnp (MCA v2.0, API v1.0, Component v1.8.4)
             MCA state: staged_orted (MCA v2.0, API v1.0, Component v1.8.4)
             MCA state: tool (MCA v2.0, API v1.0, Component v1.8.4)
         MCA allocator: basic (MCA v2.0, API v2.0, Component v1.8.4)
         MCA allocator: bucket (MCA v2.0, API v2.0, Component v1.8.4)
              MCA bcol: basesmuma (MCA v2.0, API v2.0, Component v1.8.4)
              MCA bcol: ptpcoll (MCA v2.0, API v2.0, Component v1.8.4)
               MCA bml: r2 (MCA v2.0, API v2.0, Component v1.8.4)
               MCA btl: self (MCA v2.0, API v2.0, Component v1.8.4)
               MCA btl: sm (MCA v2.0, API v2.0, Component v1.8.4)
               MCA btl: tcp (MCA v2.0, API v2.0, Component v1.8.4)
               MCA btl: vader (MCA v2.0, API v2.0, Component v1.8.4)
              MCA coll: basic (MCA v2.0, API v2.0, Component v1.8.4)
              MCA coll: hierarch (MCA v2.0, API v2.0, Component v1.8.4)
              MCA coll: inter (MCA v2.0, API v2.0, Component v1.8.4)
              MCA coll: libnbc (MCA v2.0, API v2.0, Component v1.8.4)
              MCA coll: ml (MCA v2.0, API v2.0, Component v1.8.4)
              MCA coll: self (MCA v2.0, API v2.0, Component v1.8.4)
              MCA coll: sm (MCA v2.0, API v2.0, Component v1.8.4)
              MCA coll: tuned (MCA v2.0, API v2.0, Component v1.8.4)
               MCA dpm: orte (MCA v2.0, API v2.0, Component v1.8.4)
              MCA fbtl: posix (MCA v2.0, API v2.0, Component v1.8.4)
             MCA fcoll: dynamic (MCA v2.0, API v2.0, Component v1.8.4)
             MCA fcoll: individual (MCA v2.0, API v2.0, Component v1.8.4)
             MCA fcoll: static (MCA v2.0, API v2.0, Component v1.8.4)
             MCA fcoll: two_phase (MCA v2.0, API v2.0, Component v1.8.4)
             MCA fcoll: ylib (MCA v2.0, API v2.0, Component v1.8.4)
                MCA fs: ufs (MCA v2.0, API v2.0, Component v1.8.4)
                MCA io: ompio (MCA v2.0, API v2.0, Component v1.8.4)
                MCA io: romio (MCA v2.0, API v2.0, Component v1.8.4)
             MCA mpool: grdma (MCA v2.0, API v2.0, Component v1.8.4)
             MCA mpool: sm (MCA v2.0, API v2.0, Component v1.8.4)
               MCA osc: rdma (MCA v2.0, API v3.0, Component v1.8.4)
               MCA osc: sm (MCA v2.0, API v3.0, Component v1.8.4)
               MCA pml: v (MCA v2.0, API v2.0, Component v1.8.4)
               MCA pml: bfo (MCA v2.0, API v2.0, Component v1.8.4)
               MCA pml: cm (MCA v2.0, API v2.0, Component v1.8.4)
               MCA pml: ob1 (MCA v2.0, API v2.0, Component v1.8.4)
            MCA pubsub: orte (MCA v2.0, API v2.0, Component v1.8.4)
            MCA rcache: vma (MCA v2.0, API v2.0, Component v1.8.4)
               MCA rte: orte (MCA v2.0, API v2.0, Component v1.8.4)
              MCA sbgp: basesmsocket (MCA v2.0, API v2.0, Component v1.8.4)
              MCA sbgp: basesmuma (MCA v2.0, API v2.0, Component v1.8.4)
              MCA sbgp: p2p (MCA v2.0, API v2.0, Component v1.8.4)
          MCA sharedfp: individual (MCA v2.0, API v2.0, Component v1.8.4)
          MCA sharedfp: lockedfile (MCA v2.0, API v2.0, Component v1.8.4)
          MCA sharedfp: sm (MCA v2.0, API v2.0, Component v1.8.4)
              MCA topo: basic (MCA v2.0, API v2.1, Component v1.8.4)
         MCA vprotocol: pessimist (MCA v2.0, API v2.0, Component v1.8.4)



Attachment: osx-10.10.5-xcode-7.0.1-openmpi-problem.c
Description: Binary data


-- 
Dr.-Ing. Tobias Hilbrich
Research Assistant

Technische Universitaet Dresden, Germany
Tel.: +49 (351) 463-38485
E-Mail: tobias.hilbr...@tu-dresden.de

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to