Public bug reported:

mpi4py fails with new openmpi:

- On amd64 and arm64 fail
- On armhf and s390x the tests are skipped and therefore work

Errors:
  test/test_rma.py::TestRMAWorld::testAccumulate FAILEDFAILED                  
[ 82%]
  test/test_rma.py::TestRMASelf::testStartComplete FAILED                  [ 
82%]
  test/test_rma.py::TestRMASelf::testPutGet FAILED                  [ 82%]
  test/test_rma.py::TestRMASelf::testStartComplete FAILED                  [ 
82%]

a few tests later fail sometimes, but they vary.

Debian had those issues in 3.0.3-6
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=974560
  
https://bitbucket.org/mpi4py/mpi4py/issues/171/test_rmapy-failing-tests-with-openmpi-404
Was skipped for certain versions
  
https://salsa.debian.org/science-team/mpi4py/-/commit/1ee01a245b7097a46da95489a5e962c3165ebfa2

3.0.3-7 should have what we need, but on rerun it still is failing the
same way.

Local repro shows these failures as well

Note: The working Debian tests all used python3 3.8 still we are on 3.9 already.
Ubu: platform linux -- Python 3.9.0+, pytest-4.6.11, py-1.9.0, pluggy-0.13.0 -- 
/usr/bin/python3
Deb: platform linux -- Python 3.8.6,  pytest-4.6.11, py-1.9.0, pluggy-0.13.0 -- 
/usr/bin/python3


But those should be skipped in the new version - right?
/tmp/autopkgtest.a6nCsM/build.DVK/src$ grep -Hrn -C1 testAccumulate test/*
grep: test/__pycache__/test_rma.cpython-39-PYTEST.pyc: binary file matches
grep: test/__pycache__/test_rma_nb.cpython-39-PYTEST.pyc: binary file matches
--
test/test_rma.py-92-    @unittest.skipMPI('openmpi(>=4.0.4,<4.1)')
test/test_rma.py:93:    def testAccumulate(self):
test/test_rma.py-94-        group = self.WIN.Get_group()
...


Test results have some more readability with:
$ mpirun -n 2 python3 -m pytest test/test_rma.py -vv


In Debugging I found that
    @unittest.skipMPI('openmpi(>=4.0.4,<4.1)')
does not really skip it in our case.


With this installed:
  libopenmpi3:amd64                    4.0.5-7ubuntu1 
I get these results in skipMPI
  DEBUG:TestLog:skipMPI-vendor: name Open MPI version (4, 0, 3)

I'd expect 4.0.5 ?!

Debugging further revealed that mpi4py does internalize the versions at build 
time
#elif defined(OPEN_MPI)

  name = "Open MPI";
  #if defined(OMPI_MAJOR_VERSION)
  major = OMPI_MAJOR_VERSION;
  #endif
  #if defined(OMPI_MINOR_VERSION)
  minor = OMPI_MINOR_VERSION;
  #endif
  #if defined(OMPI_RELEASE_VERSION)
  micro = OMPI_RELEASE_VERSION;
  #endif


This is a build time static - it does not check the installed lib!
It needs a rebuild of mpi4py vs the new version.

A rebiuld of mpi4py should resolve it
Test build in
  https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/4354

Tested in autopkgtest against that PPA worked fine now.
$ sudo ~/work/autopkgtest/autopkgtest/runner/autopkgtest --no-built-binaries 
--apt-upgrade --apt-pocket=proposed --setup-commands="add-apt-repository 
ppa:ci-train-ppa-service/4354; apt update; apt -y upgrade" --shell-fail 
mpi4py_3.0.3-7build1.dsc -- qemu --ram-size=1536 --cpus 2 
~/work/autopkgtest-hirsute-amd64.img

Uploading the no change rebuild and tagging this as update excuse to
reflect that until resolved.

** Affects: mpi4py (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: openmpi (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: update-excuse

** Also affects: mpi4py (Ubuntu)
   Importance: Undecided
       Status: New

** Tags added: update-excuse

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1905950

Title:
  openmpi 4.0.5 breaks mpi4py autopkgtest

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mpi4py/+bug/1905950/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to