Skip to content

MPI_Comm_idup hang in v2.0.x with MPI_THREAD_MULTIPLE #2380

Closed
@jjhursey

Description

@jjhursey

I created a test case in ompi-tests underibm/communicator/comm_idup_many.c

This test is doing a simple:

    for (i = 0; i < num_comms_to_create; i++) {
        MPI_Comm_idup(MPI_COMM_WORLD, &comms[i], &req[i]);
    }

    MPI_Waitall(num_comms_to_create, req, MPI_STATUSES_IGNORE);

If you compile the v2.0.x branch with --enable-mpi-thread-multiple this test will hang when you try to create more than one communicator this way.

./configure --enable-debug --enable-mpi-thread-multiple

The problem is that the first request will progress past stage one, but the second request will block the progress thread in this section of code:

The master and v2.x branches pass this test. So I believe that the CID allocation fix that went into those two branches 'fixed' this problem.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions