MPI C++ in a nested loop

I have a MPI program like this:

void slave1(int j){
MPI_Status status;
MPI_Recv(&j,1,MPI_INT,0,0,MPI_COMM_WORLD,&status);}

void slave2(int j){
MPI_Status status;
MPI_Recv(&j,1,MPI_INT,0,1,MPI_COMM_WORLD,&status);}


int main(int argc, char *argv[]){
    int numprocs, rank;
    MPI_Init(&argc, &argv);
    MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    if (rank >0){
        for (int t=2;t<runtime;t++){
            slave1(rank);
            MPI_Barrier(MPI_COMM_WORLD);
            slave2(rank);
            MPI_Barrier(MPI_COMM_WORLD);
        }
    }



    if (rank==0){   
        for(int i=1;i<numprocs;i++){MPI_Send(&i,1,MPI_INT,i,0,MPI_COMM_WORLD);}
        MPI_Barrier(MPI_COMM_WORLD);
        for(int i=1;i<numprocs;i++){MPI_Send(&i,1,MPI_INT,i,1,MPI_COMM_WORLD);}
        MPI_Barrier(MPI_COMM_WORLD);
    }
    MPI_Finalize();}

This work for runtime loop less than 166 times, but after that, I got the error showing:
Fatal error in MPI_Recv: Other MPI error