Hi Jeff, Hi Gilles,

many thanks for your input and work. Good to hear your opinion, and if someone 
reports a related issue in the future it may help to know things already.

Best,
-Tobias

-- 
Dr.-Ing. Tobias Hilbrich
Research Assistant

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

> On 21 Oct 2015, at 04:00, Gilles Gouaillardet <gilles.gouaillar...@gmail.com> 
> wrote:
> 
> Tobias and Jeff,
> 
> here is attached a simple reproducer.
> 
> i reported it to apple with id 23195613
> 
> /*
> you need to replace
> #define EXTERN
> with
> #define EXTERN extern
> so the compilation successes with an other compiler
> (otherwise, compilation fails but compiler does not crash)
> */
> 
> Cheers,
> 
> Gilles
> 
> On Tue, Oct 20, 2015 at 11:14 PM, Jeff Squyres (jsquyres)
> <jsquy...@cisco.com> wrote:
>> 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/
>> 
>> _______________________________________________
>> 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/18203.php
> <xcode_7_0_1_clang_crash-da8742.c>_______________________________________________
> 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/18221.php

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

Reply via email to