After upgrading to F39, MPI programs are terminated with error messages

I recently upgraded my working machines to Fedora 39. My machines are a little bit old, but they have performed their tasks perfectly. However, after upgrading, when I run my MPI programs (using both MPICH and OpenMPI), I encounter error messages, and the program is terminated. Since the same program runs perfectly on the newest machine (unfortunately, not mine), I suspect that MPICH and OpenMPI no longer support older CPUs. So I wonder how I can run my MPI programs on my old machines.

My machines have Intel(R) Core™ i5-3470 CPU @ 3.20GHz.

When I run my MPI test code using mpirun, I got the following error messages:

  • MPICH:

mpi_test_hello.out:27998 terminated with signal 4 at PC=7fa0aa5fcbb2 SP=7fff69b12c00. Backtrace:

  • OpneMPI:

Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.

mpirun noticed that process rank 0 with PID 0 on node cnet2 exited on signal 4 (Illegal instruction).

Is there anyone who has an idea to resolve this problem?

1 Like

Signal 4 is illegal instruction.
The code you are running will need to be compiled to not use the “newer” instructions. Where did libfabric come from?


I installed all my packages and libraries using dnf.
Here is some more detailed information of the installed packages:
mpich.x86_64 : 4.1.2-3.fc39 @ fedora-modular
mpich-devel.x86_64 : 4.1.2-3.fc39 @ fedora-modular
openmpi.x86_64 : 4.1.5-8.fc39 @ updates
openmpi-devel.x86_64 : 4.1.5-8.fc39 @ updates

1 Like

There is a bug report for this: 2263220 – Illegal instruction in /lib64/


Thanks, Jerry. There was an update today, and now it works without any problem.

1 Like

I believe the fedora-modular repo was completely removed from fedora 39. Those appear to be hold-overs from an earlier version and may be the cause of the problem.