#1111549 coinor-ipopt broken (and FTBFS) on 32-bit (MPICH related)

#1111549#5
Date:
2025-08-19 11:34:15 UTC
From:
To:
...
./run_unitTests

Running unitTests...

Testing AMPL Solver Executable...
./run_unitTests: line 21: 791042 Segmentation fault      (core dumped) $@ > tmpfile 2>&1
0
 ---- 8< ---- Start of test program output ---- 8< ----
 ---- 8< ----  End of test program output  ---- 8< ----

    ******** Test FAILED! ********
Test program existed with nonzero status.
Testing C++ Example...
./run_unitTests: line 21: 791057 Segmentation fault      (core dumped) $@ > tmpfile 2>&1
0
 ---- 8< ---- Start of test program output ---- 8< ----
 ---- 8< ----  End of test program output  ---- 8< ----

    ******** Test FAILED! ********
Test program existed with nonzero status.
Testing C Example...
./run_unitTests: line 21: 791072 Segmentation fault      (core dumped) $@ > tmpfile 2>&1
0
 ---- 8< ---- Start of test program output ---- 8< ----
 ---- 8< ----  End of test program output  ---- 8< ----

    ******** Test FAILED! ********
Test program existed with nonzero status.
Testing Fortran Example...
./run_unitTests: line 21: 791087 Segmentation fault      (core dumped) $@ > tmpfile 2>&1
0
 ---- 8< ---- Start of test program output ---- 8< ----
 ---- 8< ----  End of test program output  ---- 8< ----

    ******** Test FAILED! ********
Test program existed with nonzero status.
Skip testing Java Example (Java interface not build)
Testing sIpopt Example parametric_cpp...
./run_unitTests: line 21: 791102 Segmentation fault      (core dumped) $@ > tmpfile 2>&1
0
 ---- 8< ---- Start of test program output ---- 8< ----
 ---- 8< ----  End of test program output  ---- 8< ----

    ******** Test FAILED! ********
Test program existed with nonzero status.
Testing sIpopt Example redhess_cpp...
./run_unitTests: line 21: 791117 Segmentation fault      (core dumped) $@ > tmpfile 2>&1
0
 ---- 8< ---- Start of test program output ---- 8< ----
 ---- 8< ----  End of test program output  ---- 8< ----

    ******** Test FAILED! ********
Test program existed with nonzero status.
Testing EmptyNLP Example...
./run_unitTests: line 21: 791132 Segmentation fault      (core dumped) $@ > tmpfile 2>&1
0
 ---- 8< ---- Start of test program output ---- 8< ----
 ---- 8< ----  End of test program output  ---- 8< ----

    ******** Test FAILED! ********
Test program existed with nonzero status.
Testing GetCurr Example...
./run_unitTests: line 21: 791147 Segmentation fault      (core dumped) $@ > tmpfile 2>&1
0
 ---- 8< ---- Start of test program output ---- 8< ----
 ---- 8< ----  End of test program output  ---- 8< ----

    ******** Test FAILED! ********
...


It works in trixie.

The backtrace indicates the new MPICH likely triggered it:

#0  0xf6c2a2b4 in MPIR_Info_setup_env (info_ptr=0xf6ded0ec <MPIR_Info_builtin+20>, argc=1, argv=0x0) at src/mpi/info/infoutil.c:72
#1  0xf6c2b83a in MPII_init_builtin_infos (argc=argc@entry=0xffd02b44, argv=argv@entry=0xffd02b48)
    at src/mpi/init/local_proc_attrs.c:113
#2  0xf6c2a89a in MPII_Init_thread (argc=argc@entry=0xffd02b44, argv=argv@entry=0xffd02b48, user_required=<optimized out>,
    provided=provided@entry=0xffd02af8, p_session_ptr=<optimized out>, p_session_ptr@entry=0x0) at src/mpi/init/mpir_init.c:216
#3  0xf6c2b130 in MPIR_Init_impl (argc=argc@entry=0xffd02b44, argv=argv@entry=0xffd02b48) at src/mpi/init/mpir_init.c:146
#4  0xf6b295b4 in internal_Init (argc=0xffd02b44, argv=0xffd02b48) at src/binding/c/init/init.c:57
#5  PMPI_Init (argc=0xffd02b44, argv=0xffd02b48) at src/binding/c/init/init.c:108
#6  0xf779a556 in MPIinit () at Algorithm/LinearSolvers/IpMumpsSolverInterface.cpp:68
#7  0xf78eec28 in call_init (l=<optimized out>, argc=1, argv=0xffd02b94, env=0xffd02b9c) at dl-init.c:74
#8  call_init (l=<optimized out>, argc=1, argv=0xffd02b94, env=0xffd02b9c) at dl-init.c:26
#9  0xf78eecd0 in _dl_init (main_map=0xf791ca28, argc=1, argv=0xffd02b94, env=0xffd02b9c) at dl-init.c:121
#10 0xf78fad24 in _dl_start_user () from /lib/ld-linux-armhf.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)


Relevant code:

https://sources.debian.org/src/coinor-ipopt/3.14.17-3/src/Algorithm/LinearSolvers/IpMumpsSolverInterface.cpp#L68