Tobias -- I'm able to replicate the problem with 1.8.4 and 1.8.8 and 1.10.0 on OS X 10.10.5 (Yosemite) and Xcode 7.0.1. I'd suggest filing a bug at bugreporter.apple.com with the information that clang provided in their output.
If there's a bug in the compiler, there's not much that we here at OMPI can do without digging in deep to understand the actual bug (not just one of its symptoms/manifestations) and then putting in a workaround. We've been a bit resistant to putting in compiler workarounds in the past, because that would be a nightmare (since Open MPI supports so many compilers). Instead, we've encouraged compiler vendors to fix their compilers. > On Oct 20, 2015, at 7:07 AM, Tobias Hilbrich <tobias.hilbr...@tu-dresden.de> > wrote: > > Hi Gilles, > > as for that, recompiling OpenMPI works, but causes no change here. > > -Tobias > > -- > Dr.-Ing. Tobias Hilbrich > Research Assistant > > Technische Universitaet Dresden, Germany > Tel.: +49 (351) 463-38485 > E-Mail: tobias.hilbr...@tu-dresden.de > >> On 20 Oct 2015, at 11:42, Gilles Gouaillardet >> <gilles.gouaillar...@gmail.com> wrote: >> >> Tobias, >> >> Btw, did you recompile ompi with this xcode ? >> Iirc, we do similar comparisons in ompi itself >> >> Cheers, >> >> Gilles >> >> Tobias Hilbrich <tobias.hilbr...@tu-dresden.de> wrote: >>> 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) >>> >>> >>> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2015/10/18200.php > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2015/10/18202.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/