Package: libopenmpi3
Version: 4.0.3-6
Severity: serious

Hi Alastair,

I just managed by accident to do a partial upgrade of openmpi, i.e.
openmpi-bin was still the buster version while libopenmpi3 was already
upgraded to bullseye. This caused mpirun to segfault ...

I could reproduce it in a minimal buster chroot, installing
openmpi-bin/buster and thereafter enabling bullseye sources and
upgrading libgcc-8-dev gcc-8-base libmpx2 libc6-dev libopenmpi3 to
bullseye.
gdb says, the segfault happened
  in opal_hwloc_base_get_nbobjs_by_type () from 
/usr/lib/x86_64-linux-gnu/libopen-pal.so.40
so this is likely because mpirun causes both libhwloc.so.5 (own
dependency) and libhwloc.so.15 (libopen-rte.so.40 dependency) to be
loaded in the same process.

libopenmpi3 should probably break packages from buster depending on
both libopenmpi3 and libhwloc5. Luckily there are not that many:
  gromacs-openmpi (<< 2020~beta2-2) (*)
  libeztrace0 (<< 1.1-8-5+b1) (**)
  openmpi-bin (<< 4.0.2-4+b1) (**)
  starpu-contrib-examples (<< 1.3.2+dfsg-2+b1) (*)
  starpu-examples (<< 1.3.2+dfsg-4+b1) (**)
I haven't tried if they cause crashes as well ... I just tried to find
the first version no longer depending on libhwloc5 (either because it
switched to libhwloc15 (*) or because it just dropped the dependency
(**)).

So I would recomend to add these to libopenmpi3:
Breaks: gromacs-openmpi (<< 2020~beta2-2), libeztrace0 (<< 1.1-8-5+b1), 
openmpi-bin (<< 4.0.2-4+b1), starpu-contrib-examples (<< 1.3.2+dfsg-2+b1), 
starpu-examples (<< 1.3.2+dfsg-4+b1)
(They can go with the next soname bump or after bullseye was released).

Andreas

Reply via email to