用MPI并行库编写了一段程序,运行的时候出现如下错误:

Fatal error in MPI_Recv: Invalid communicator, error stack:
MPI_Recv(186): MPI_Recv(buf=04C6FE60, count=0, INVALID DATATYPE, src=0, tag=103, comm=0x0, status=000DF9D0) failed
MPI_Recv(83).: Invalid communicator
Fatal error in MPI_Recv: Invalid communicator, error stack:
MPI_Recv(186): MPI_Recv(buf=043DAA20, count=562500, INVALID DATATYPE, src=0, tag=101, comm=0x0, status=000DF9D0) failed
MPI_Recv(83).: Invalid communicator
Fatal error in MPI_Recv: Invalid communicator, error stack:
MPI_Recv(186): MPI_Recv(buf=04825440, count=562500, INVALID DATATYPE, src=0, tag=102, comm=0x0, status=000DF9D0) failed
MPI_Recv(83).: Invalid communicator

看字面意思是数据类型错误,我的数据类型是MPI_DOUBLE_COMPLEX,不应该有错误啊,而且用这个数据类型在另一个程序里面没报错,并且运行出了正确的结果,请高手指教一二,不胜感激