[Ipopt] MA86 and MA97 Segfault with OpenMP

Breannan Smith smith at cs.columbia.edu
Wed May 22 12:59:51 EDT 2013


Dear Ipopt Community,

I'm attempting to run Ipopt-3.11.0 with the parallel HSL solvers (
http://www.hsl.rl.ac.uk/ipopt/) on 64-bit Linux with Intel's compilers
(version 13.1.1 20130313), but I encounter a segfault if I execute Ipopt
with MA86 or MA97 with OpenMP enabled. I am configuring Ipopt with:

../configure CXX=icpc CC=icc F77=ifort ADD_CFLAGS=-openmp
ADD_FFLAGS=-openmp ADD_CXXFLAGS=-openmp --with-blas="-L$MKLROOT/lib
-lmkl_intel_lp64 -lmkl_sequential -lmkl_core"

I am building the HSL libraries with Ipopt as described in
the documentation (that is copying coinhsl into ThirdParty/HSL).

If I then modify the C++ test example hs071_main.cpp to use ma97 (e.g.
app->Options()->SetStringValue( "linear_solver", "ma97" )), build, and
execute, the code segfaults in hsl_mc78_integer_mp_mc78_col_counts_integer_
(backtrace included below). This same example runs fine with ma27, ma57,
and mumps.

Any thoughts, tips, tricks, or suggestions as to the cause of this
segfault?

Thanks, I'm happy to run more tests or provide more details!

Best regards,
Breannan Smith
smith at cs.columbia.edu

The backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff71b9701 in hsl_mc78_integer_mp_mc78_col_counts_integer_ ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
(gdb) bt
#0  0x00007ffff71b9701 in hsl_mc78_integer_mp_mc78_col_counts_integer_ ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
#1  0x00007ffff729b031 in hsl_ma97_double_mp_get_nzl_ ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
#2  0x00007ffff7298d9e in hsl_ma97_double_mp_compute_order_ ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
#3  0x00007ffff72962ea in hsl_ma97_double_mp_analyse_double_ ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
#4  0x00007ffff72cd1c1 in ma97_analyse_d ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
#5  0x00007ffff7adf37e in
Ipopt::Ma97SolverInterface::InitializeStructure(int, int, int const*, int
const*) ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#6  0x00007ffff7ad2e19 in
Ipopt::TSymLinearSolver::InitializeStructure(Ipopt::SymMatrix const&) ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#7  0x00007ffff7ad1a35 in
Ipopt::TSymLinearSolver::MultiSolve(Ipopt::SymMatrix const&,
std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&, bool, int) () from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#8  0x00007ffff7ac2d1f in
Ipopt::StdAugSystemSolver::MultiSolve(Ipopt::SymMatrix const*, double,
Ipopt::Vector const*, double, Ipopt::Vector const*, double, Ipopt::Matrix
const*, Ipopt::Vector const*, double, Ipopt::Matrix const*, Ipopt::Vector
const*, double, std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&,
std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&,
std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&,
std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&, bool, int) ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#9  0x00007ffff79e81c2 in Ipopt::AugSystemSolver::Solve(Ipopt::SymMatrix
const*, double, Ipopt::Vector const*, double, Ipopt::Vector const*, double,
Ipopt::Matrix const*, Ipopt::Vector const*, double, Ipopt::Matrix const*,
Ipopt::Vector const*, double, Ipopt::Vector const&, Ipopt::Vector const&,
Ipopt::Vector const&, Ipopt::Vector const&, Ipopt::Vector&, Ipopt::Vector&,
Ipopt::Vector&, Ipopt::Vector&, bool, int) ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#10 0x00007ffff7a558d6 in
Ipopt::LeastSquareMultipliers::CalculateMultipliers(Ipopt::Vector&,
Ipopt::Vector&) ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#11 0x00007ffff79fea70 in
Ipopt::DefaultIterateInitializer::least_square_mults(Ipopt::Journalist
const&, Ipopt::IpoptNLP&, Ipopt::IpoptData&,
Ipopt::IpoptCalculatedQuantities&,
Ipopt::SmartPtr<Ipopt::EqMultiplierCalculator> const&, double) ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#12 0x00007ffff7a02862 in
Ipopt::DefaultIterateInitializer::SetInitialIterates() ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#13 0x00007ffff7a195c2 in Ipopt::IpoptAlgorithm::InitializeIterates() ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#14 0x00007ffff7a127e1 in Ipopt::IpoptAlgorithm::Optimize(bool) ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#15 0x00007ffff798a542 in Ipopt::IpoptApplication::call_optimize() ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#16 0x00007ffff7989ca0 in
Ipopt::IpoptApplication::OptimizeNLP(Ipopt::SmartPtr<Ipopt::NLP> const&,
Ipopt::SmartPtr<Ipopt::AlgorithmBuilder>&) ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#17 0x00007ffff7989978 in
Ipopt::IpoptApplication::OptimizeNLP(Ipopt::SmartPtr<Ipopt::NLP> const&) ()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#18 0x00007ffff79898fa in
Ipopt::IpoptApplication::OptimizeTNLP(Ipopt::SmartPtr<Ipopt::TNLP> const&)
()
   from
/proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
#19 0x0000000000402047 in main ()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20130522/5a48730e/attachment.html>


More information about the Ipopt mailing list