Discussion:
[OMPI users] message truncated error
Jack Bryan
2010-11-01 06:26:47 UTC
Permalink
HI,
In my MPI program, master send many msaages to another worker with the same tag.
The worker uses sMPI::COMM_WORLD.Recv(&message_para_to_one_worker, 1, message_para_to_workers_type, 0, downStreamTaskTag);
to receive the messages
I got error:

n36:94880] *** An error occurred in MPI_Recv[n36:94880] *** on communicator MPI_COMM_WORLD[n36:94880] *** MPI_ERR_TRUNCATE: message truncated[n36:94880] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)[n36:94880] *** Process received signal ***[n36:94880] Signal: Segmentation fault (11)[n36:94880] Signal code: Address not mapped (1)

Is this (the same tag) the reason for the errors ?
ANy help is appreciated.
thanks
Jack
Oct. 31 2010
jody
2010-11-01 07:08:08 UTC
Permalink
Hi Jack

Usually MPI_ERR_TRUNCATE means that the buffer you use in MPI_Recv
(or MPI::COMM_WORLD.Recv) is too sdmall to hold the message coming in.
Check your code to make sure you assign enough memory to your buffers.

regards
Jody
Post by Jack Bryan
HI,
In my MPI program, master send many msaages to another worker with the same tag.
The worker uses
s
MPI::COMM_WORLD.Recv(&message_para_to_one_worker, 1,
message_para_to_workers_type, 0, downStreamTaskTag);
to receive the messages
n36:94880] *** An error occurred in MPI_Recv
[n36:94880] *** on communicator MPI_COMM_WORLD
[n36:94880] *** MPI_ERR_TRUNCATE: message truncated
[n36:94880] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)
[n36:94880] *** Process received signal ***
[n36:94880] Signal: Segmentation fault (11)
[n36:94880] Signal code: Address not mapped (1)
Is this (the same tag) the reason for the errors ?
ANy help is appreciated.
thanks
Jack
Oct. 31 2010
_______________________________________________
users mailing list
http://www.open-mpi.org/mailman/listinfo.cgi/users
Jack Bryan
2010-11-01 17:41:01 UTC
Permalink
thanks
I use
double* recvArray = new double[buffersize];
The receive buffer size
MPI::COMM_WORLD.Recv(&(recvDataArray[0]), xVSize, MPI_DOUBLE, 0, mytaskTag);
delete [] recvArray ;
In first iteration, the receiver works well.
But, in second iteration ,
I got the
MPI_ERR_TRUNCATE: message truncated
the buffersize is the same in two iterations.

ANy help is appreciated.
thanks
Nov. 1 2010
Date: Mon, 1 Nov 2010 08:08:08 +0100
Subject: Re: [OMPI users] message truncated error
Hi Jack
Usually MPI_ERR_TRUNCATE means that the buffer you use in MPI_Recv
(or MPI::COMM_WORLD.Recv) is too sdmall to hold the message coming in.
Check your code to make sure you assign enough memory to your buffers.
regards
Jody
Post by Jack Bryan
HI,
In my MPI program, master send many msaages to another worker with the same
tag.
The worker uses
s
MPI::COMM_WORLD.Recv(&message_para_to_one_worker, 1,
message_para_to_workers_type, 0, downStreamTaskTag);
to receive the messages
n36:94880] *** An error occurred in MPI_Recv
[n36:94880] *** on communicator MPI_COMM_WORLD
[n36:94880] *** MPI_ERR_TRUNCATE: message truncated
[n36:94880] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)
[n36:94880] *** Process received signal ***
[n36:94880] Signal: Segmentation fault (11)
[n36:94880] Signal code: Address not mapped (1)
Is this (the same tag) the reason for the errors ?
ANy help is appreciated.
thanks
Jack
Oct. 31 2010
_______________________________________________
users mailing list
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
http://www.open-mpi.org/mailman/listinfo.cgi/users
David Zhang
2010-11-01 21:35:19 UTC
Permalink
Jack, in order to see what the problem is, you need to post a more complete
code, such as the code you used for the send, and any manipulation you did
to your recvArray.
Post by Jack Bryan
thanks
I use
double* recvArray = new double[buffersize];
The receive buffer size
MPI::COMM_WORLD.Recv(&(recvDataArray[0]), xVSize, MPI_DOUBLE, 0, mytaskTag);
delete [] recvArray ;
In first iteration, the receiver works well.
But, in second iteration ,
I got the
MPI_ERR_TRUNCATE: message truncated
the buffersize is the same in two iterations.
ANy help is appreciated.
thanks
Nov. 1 2010
Date: Mon, 1 Nov 2010 08:08:08 +0100
Subject: Re: [OMPI users] message truncated error
Hi Jack
Usually MPI_ERR_TRUNCATE means that the buffer you use in MPI_Recv
(or MPI::COMM_WORLD.Recv) is too sdmall to hold the message coming in.
Check your code to make sure you assign enough memory to your buffers.
regards
Jody
Post by Jack Bryan
HI,
In my MPI program, master send many msaages to another worker with the
same
Post by Jack Bryan
tag.
The worker uses
s
MPI::COMM_WORLD.Recv(&message_para_to_one_worker, 1,
message_para_to_workers_type, 0, downStreamTaskTag);
to receive the messages
n36:94880] *** An error occurred in MPI_Recv
[n36:94880] *** on communicator MPI_COMM_WORLD
[n36:94880] *** MPI_ERR_TRUNCATE: message truncated
[n36:94880] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)
[n36:94880] *** Process received signal ***
[n36:94880] Signal: Segmentation fault (11)
[n36:94880] Signal code: Address not mapped (1)
Is this (the same tag) the reason for the errors ?
ANy help is appreciated.
thanks
Jack
Oct. 31 2010
_______________________________________________
users mailing list
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
David Zhang
University of California, San Diego
jody
2010-11-02 09:37:10 UTC
Permalink
Hi Jack
Post by Jack Bryan
the buffersize is the same in two iterations.
this doesn't help if the message which is sent is larger than
buffersize in the second iteration.
But as David says, without the details of the message sending and
potential changes to the
receive buffer one can't make any precise diagnosis.

jody
Post by Jack Bryan
thanks
I use
double* recvArray  = new double[buffersize];
The receive buffer size
MPI::COMM_WORLD.Recv(&(recvDataArray[0]), xVSize, MPI_DOUBLE, 0, mytaskTag);
delete [] recvArray  ;
In first iteration, the receiver works well.
But, in second iteration ,
I got the
MPI_ERR_TRUNCATE: message truncated
the buffersize is the same in two iterations.
ANy help is appreciated.
thanks
Nov. 1 2010
Date: Mon, 1 Nov 2010 08:08:08 +0100
Subject: Re: [OMPI users] message truncated error
Hi Jack
Usually MPI_ERR_TRUNCATE means that the buffer you use in MPI_Recv
(or MPI::COMM_WORLD.Recv) is too sdmall to hold the message coming in.
Check your code to make sure you assign enough memory to your buffers.
regards
Jody
Post by Jack Bryan
HI,
In my MPI program, master send many msaages to another worker with the same
tag.
The worker uses
s
MPI::COMM_WORLD.Recv(&message_para_to_one_worker, 1,
message_para_to_workers_type, 0, downStreamTaskTag);
to receive the messages
n36:94880] *** An error occurred in MPI_Recv
[n36:94880] *** on communicator MPI_COMM_WORLD
[n36:94880] *** MPI_ERR_TRUNCATE: message truncated
[n36:94880] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)
[n36:94880] *** Process received signal ***
[n36:94880] Signal: Segmentation fault (11)
[n36:94880] Signal code: Address not mapped (1)
Is this (the same tag) the reason for the errors ?
ANy help is appreciated.
thanks
Jack
Oct. 31 2010
_______________________________________________
users mailing list
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
http://www.open-mpi.org/mailman/listinfo.cgi/users
Loading...