Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Crash when using MPI_REAL8
From: Sylvain Jeaugey (sylvain.jeaugey_at_[hidden])
Date: 2009-12-04 11:51:39


For the record, and to try to explain why all MTT tests may have missed
this "bug", configuring without --enable-debug makes the bug disappear.

Still trying to figure out why.

Sylvain

On Thu, 3 Dec 2009, Sylvain Jeaugey wrote:

> Hi list,
>
> I hope this time I won't be the only one to suffer this bug :)
>
> It is very simple indeed, just perform an allreduce with MPI_REAL8 (fortran)
> and you should get a crash in ompi/op/op.h:411. Tested with trunk and v1.5,
> working fine on v1.3.
>
> From what I understand, in the trunk, MPI_REAL8 has now a fixed id (in
> ompi/datatype/ompi_datatype_internal.h), but operations do not have an index
> going as far as 54 (0x36), leading to a crash when looking for
> op->o_func.intrinsic.fns[ompi_op_ddt_map[ddt->id]] in ompi_op_is_valid() (or,
> if I disable mpi_param_check, in ompi_op_reduce()).
>
> Here is a reproducer, just in case :
> program main
> use mpi
> integer ierr
> real(8) myreal, realsum
> call MPI_INIT(ierr)
> call MPI_ALLREDUCE(myreal, realsum, 1, MPI_REAL8, MPI_SUM, MPI_COMM_WORLD,
> ierr)
> call MPI_FINALIZE(ierr)
> stop
> end
>
> Has anyone an idea on how to fix this ? Or am I doing something wrong ?
>
> Thanks for any help,
> Sylvain
>
>
>