[mpich-discuss] MPI_Barrier segmentation fault

Halim Amer aamer at anl.gov
Fri Jun 3 23:35:55 CDT 2016


Eric,

Thanks for the analysis. I confirmed your observations with Intel and 
GNU compilers. Also, I looked through the code, but I haven't found 
other instances of the wrong attribute placement.

We plan to include this patch in a 3.2.x bug fix release.

Note that this problem does not concern the master branch. The new code 
decouples the request structure definition (and its alignment) and the 
typedef declaration, which results in a correct alignment.

Regards,
--Halim

www.mcs.anl.gov/~aamer

On 5/27/16 5:57 PM, Eric A. Borisch wrote:
> I believe that this line: (src/include/mpiimpl.h:1531)
>
> } MPID_Request ATTRIBUTE((__aligned__(32)));
>
> needs to be this:
>
> } ATTRIBUTE((__aligned__(32))) MPID_Request;
>
> From the GCC docs, the attribute needs to be just after the closing brace.
>
> As it is, it aligns single MPID_Request objects to be on a 32-byte
> boundary, but it does make the sizeof(MPID_Request) a multiple of 32.
>
> This, in combination with the compiler optimizing for the
> advertised-to-be-aligned singleton object with a movaps instruction
> causes the crash. Changing the above line and re-compiling mpich fixes
> the issue.
>
> There may be other instances of this issue in the codebase; I did not search...
>
>  - Eric
>
> On Fri, May 27, 2016 at 12:42 AM, Ben Whale <ben at benwhale.com> wrote:
>> Ha! Sorry didn’t spot your previous email about XCode. Thanks for the hard work
>>
>> I’ve had issues with XCode updates in the past. In the mean time while this is fixed I’ll try building with an old version.
>>
>> Ben
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
>
_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list