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
smime.p7s
Description: S/MIME cryptographic signature