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/

Reply via email to