You are right, the datatype generated using the block_index function
is a legal data-type. We wrongly determined some overlapping regions
in the description [which is illegal based on the MPI standard]. The
detection of such overlapping regions being a very expensive process
if we don't want any false positives (such as your datatype), I prefer
to remove it completely.
To keep it short I just committed a patch (r20120) in the trunk, and
I'll take care to move it in the 1.3 and the 1.2.9.
Thanks for your help,
On Dec 10, 2008, at 18:07 , doriankrause wrote:
> Hi List,
> I have a MPI program which uses one sided communication with derived
> datatypes (MPI_Type_create_indexed_block). I developed the code with
> MPICH2 and unfortunately didn't thought about trying it out with
> OpenMPI. Now that I'm "porting" the Application to OpenMPI I'm facing
> some problems. On the most machines I get an SIGSEGV in MPI_Win_fence,
> sometimes an invalid datatype shows up. I ran the program in Valgrind
> and didn't get anything valuable. Since I can't see a reason for this
> problem (at least if I understand the standard correctly), I wrote the
> attached testprogram.
> Here are my experiences:
> * If I compile without ONESIDED defined, everything works and V1 and
> give the same results
> * If I compile with ONESIDED and V2 defined (MPI_Type_contiguous) it
> * ONESIDED + V1 + O2: No errors but obviously nothing is send? (Am I
> assuming that V1+O2 and V2 should be equivalent?)
> * ONESIDED + V1 + O1:
> [m02:03115] *** An error occurred in MPI_Put
> [m02:03115] *** on win
> [m02:03115] *** MPI_ERR_TYPE: invalid datatype
> [m02:03115] *** MPI_ERRORS_ARE_FATAL (goodbye)
> I didn't get a segfault as in the "real life example" but if
> is correct it means that OpenMPI is buggy when it comes to onesided
> communication and (some) derived datatypes, so that it is probably not
> of problem in my code.
> I'm using OpenMPI-1.2.8 with the newest gcc 4.3.2 but the same
> can be be seen with gcc-3.3.1 and intel 10.1.
> Please correct me if ompitest.cc contains errors. Otherwise I would be
> glad to hear how I should report these problems to the develepors (if
> they don't read this).
> Thanks + best regards
> users mailing list