Skip to content

MPICH not working properly on Ubuntu 24.04 #13204

@JCGoran

Description

@JCGoran

Description

MPICH on Ubuntu 24.04 does not work properly (see upstream bug report).
Consequently, any CI (either Azure or GitHub Actions) using Ubuntu 24.04 and MPICH may fail in unexpected ways, and the maintainers may waste time trying to debug the issue, only to discover it is Ubuntu itself that shipped a broken package.

As a workaround, one can install the fixed version, 4.2.0-5.1, from here (files libmpich12_4.2.0-5.1_amd64.deb and mpich_4.2.0-5.1_amd64.deb).

Note that I do not expect this issue to be fixed here (after all, the issue is upstream), but am merely posting it for visibility.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • macOS 26 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Image version and build link

  Image: ubuntu-24.04
  Version: 20250929.60.1
  Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20250929.60/images/ubuntu/Ubuntu2404-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20250929.60

Link to a failed build: https://github.com/neuronsimulator/nrn/actions/runs/18711924786/job/53362214518

Is it regression?

Yes, ubuntu-22.04 works as intended since the version of MPICH is not broken

Expected behavior

MPICH should work properly by default.

Actual behavior

MPICH does not work properly by default.

Repro steps

From the bug report link:

// test.c
#include <stdlib.h>
#include <stdio.h>
#include <mpi.h>

int main(void)
{
  MPI_Init(NULL, NULL);
  int rank;
  MPI_Comm_rank(MPI_COMM_WORLD, &rank);
  printf("hello from rank %d\n", rank);

  MPI_Finalize();
  return 0;
}
$ sudo apt update && sudo apt install -y mpich
$ mpicc.mpich test.c
$ mpiexec.mpich -n 2 ./a.out
hello from rank 0
hello from rank 0

The correct output is:

hello from rank 0
hello from rank 1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions