Hi, On 18/12/16 13:44, Ansgar Burchardt wrote: > Package: libopenmpi-dev > Version: 2.0.2~git.20161225-8 > Severity: important > > [ CC'ed debian-mips@ as a segfault in the linker might not be a bug in MPI ] > > OpenMPI crashed frequenly in the runtime linker on mips64el, even for a > trivial program calling just MPI_Init and MPI_Finalize: > > +--- > | #include <mpi.h> > | > | int main(int argc, char** argv) > | { > | MPI_Init(&argc, &argv); > | MPI_Finalize(); > | return 0; > | } > +---[ test.cc ] > > After building with `mpic++ -o test test.cc`, I often get the following > backtrace from the core file: > > +--- > | Core was generated by `./test'. > | Program terminated with signal SIGSEGV, Segmentation fault. > | #0 elf_machine_runtime_link_map (gpreg=<optimized out>, stub_pc=1099310712688) > | at ../sysdeps/mips/dl-trampoline.c:84 > | 84 ../sysdeps/mips/dl-trampoline.c: No such file or directory. > | [Current thread is 1 (LWP 2837)] > | (gdb) bt > | #0 elf_machine_runtime_link_map (gpreg=<optimized out>, stub_pc=1099310712688) > | at ../sysdeps/mips/dl-trampoline.c:84 > | #1 __dl_runtime_resolve (sym_index=151, return_address=<optimized out>, old_gpreg=<optimized out>, > | stub_pc=1099310712688) at ../sysdeps/mips/dl-trampoline.c:125 > | #2 0x000000fff5e341ac in _dl_runtime_resolve () from /lib64/ld.so.1 > | Backtrace stopped: frame did not save the PC > +---[ backtrace from `gdb ./test core` ] > > I noticed as src:dune-common/2.5.0-1 failed on mips64el even though the last > upload build sucessfully. This symptoms here look very much like those in the DT_MIPS_RLD_MAP_REL bug from #818909. If "mpic++" simply calls g++ with some extra args (ie doesn't do anything to the executable after ld has touched it), then I think binutils is the likely culprit here. I'm not sure why it only happens on mips64el though (instead of all 3 mips arches). [sigh, I swear we didn't use to have this many bugs in the mips toolchain] Thanks, James
Attachment:
signature.asc
Description: OpenPGP digital signature