[mpich-discuss] mpi/errhan/defmsg.h

Pavan Balaji balaji at mcs.anl.gov
Wed Sep 29 23:28:45 CDT 2010


On 09/29/2010 10:57 PM, Jeff Hammond wrote:
> How do I understand what is going on in mpi/errhan/defmsg.h?
>
> I got an error message "Buffers must not be aliased".  I grepped the
> entire MPICH2 trunk for it and found it in mpi/errhan/defmsg.h and
> only there.  Seeing that my error message is associated with "gen35",

Really?

% grep -r "Buffers must not be aliased" *
src/mpi/errhan/errnames.txt:**bufalias:Buffers must not be aliased
src/mpi/errhan/defmsg.h:static const char long_gen35[]  = "Buffers must 
not be aliased";
src/mpi/errhan/windefmsg.h:static const char long_gen39[]  = "Buffers 
must not be aliased";

I see it in at least three places.

> I grepped the entire MPICH2 trunk for that string and found that, once
> again, it is only present in mpi/errhan/defmsg.h.  I have no idea how
> MPICH2 knows to print that error given there are no obvious references
> to it or its token anywhere in the source.

"**bufalias" is an alias to the error message you are seeing (see my 
grep above). Did you try grepping for that? MPICH2 uses aliases to make 
sure the error messages are consistent for common errors thrown by 
different functions.

> I consider it a universal good for users to grep for error messages in
> source and try to understand what branch got them to a particular
> error.  That MPICH2 does not allow me to do this is uniquely
> frustrating.

You can grep for the alias.

But I personally don't see a reason to do that -- you are probably just 
using the same buffer for an operation that requires different buffers. 
What operation is this error occurring in?

  -- Pavan

-- 
Pavan Balaji
http://www.mcs.anl.gov/~balaji


More information about the mpich-discuss mailing list