Carlos,

MPI_Isend() does not automatically frees the buffer after it sends the message.
(it simply cannot do it since the buffer might be pointing to a global
variable or to the stack).

Can you please extract a reproducer from your program ?

Out of curiosity, what if you insert an (useless) MPI_Wait() like this ?

MPI_Test(req, &flag, &status);
if (flag){
    MPI_Wait(req, MPI_STATUS_IGNORE);
    free(buffer);
}

Cheers,

Gilles

On Sun, Jul 28, 2019 at 5:45 AM carlos aguni via users
<users@lists.open-mpi.org> wrote:
>
> Hi Jeff,
>
> Thank you for your reply.
>
> If i don't free the program completes but I'm not sure whether MPI_Isend 
> automatically frees the buffer after it sends the message. Does it?
>
> I put a long sleep at the end to check the memory used using pmap.
>
> The pmap command reported I'm using around 2GB which I'm guessing it isn't 
> freeing it.
>
> Is there anything I could try?
>
> Regards,
> C.
>
> On Mon, Jul 22, 2019 at 10:59 AM Jeff Squyres (jsquyres) <jsquy...@cisco.com> 
> wrote:
>>
>> > On Jul 21, 2019, at 11:31 AM, carlos aguni via users 
>> > <users@lists.open-mpi.org> wrote:
>> >
>> > MPI_Isend()
>> > ... some stuff..
>> > flag = 0;
>> > MPI_Test(req, &flag, &status);
>> > if (flag){
>> >     free(buffer);
>> > }
>> >
>> > After the free() i'm getting errors like:
>> > [[58327,1],0][btl_tcp_frag.c:130:mca_btl_tcp_frag_send] 
>> > mca_btl_tcp_frag_send: writev error (0x2b9daf474000, 128000000)
>> >         Bad address(1)
>> > [[58327,1],0][btl_tcp_frag.c:130:mca_btl_tcp_frag_send] 
>> > mca_btl_tcp_frag_send: writev error (0x2b9daf473ee8, 19608)
>> >         Bad address(1)
>> > pml_ob1_sendreq.c:308 FATAL
>>
>> Do you get the same error if you don't free()?
>>
>> --
>> Jeff Squyres
>> jsquy...@cisco.com
>>
> _______________________________________________
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to