Additionally, I remember that we decided not to use any MPI level functions inside the Open MPI library. I guess the correct way of doing this is to use directly the functions provided by the datatype engine ompi_ddt_get_args once with which set to zero (to retrieve the values i.e. similar to MPI_Type_get_envelope) and once with "which" set to one (to retrieve the content i.e. similar to MPI_Type_get_content).
Moreover, there is a better way to have the memchecker_call function implemented by taking advantage of the data-type engine. It will make memchecker really dependent of Open MPI ... but I guess not more than it is right now :) Ping me if you are interested in exploring this option.
Thanks, george.
smime.p7s
Description: S/MIME cryptographic signature