Hi
> > I used your test code to confirm it also fails on our trunk -
> > it looks like someone got the reference count wrong when
> > creating/destructing groups.
>
> No, the code is not MPI compliant.
>
> The culprit is line 254 in the test code where Siegmar manually
> copied the group_comm_world into group_worker. This is correct
> as long as you remember that group_worker is not directly an
> MPI generated group, and as a result you are not allowed to free it.
>
> Now if you replace the:
>
> group_worker = group_comm_world
>
> by an MPI operation that create a copy of the original group such as
>
> MPI_Comm_group (MPI_COMM_WORLD, &group_worker);
>
> your code become MPI valid, and works without any issue in Open MPI.
>
> George.
Thank you very much for your solution. Now my Java program in openmpi-1.9
works as well, if I replace this line.
Kind regards
Siegmar
|