<div dir="ltr">Dear Ipopt Community,<div><br></div><div style>I'm attempting to run Ipopt-3.11.0 with the parallel HSL solvers (<a href="http://www.hsl.rl.ac.uk/ipopt/">http://www.hsl.rl.ac.uk/ipopt/</a>) 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:</div>
<div style><br></div><div style>../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"</div><div style>
<br></div><div style>I am building the HSL libraries with Ipopt as described in the documentation (that is copying coinhsl into ThirdParty/HSL). </div><div style><br></div><div style>If I then modify the C++ test example hs071_main.cpp to use ma97 (e.g. app->Options()->SetStringValue( <span class="">"linear_solver"</span>, <span class="">"ma97"</span> )), 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. </div>
<div style><br></div><div style>Any thoughts, tips, tricks, or suggestions as to the cause of this segfault? </div><div style><br></div><div style>Thanks, I'm happy to run more tests or provide more details!</div><div style>
<br></div><div style>Best regards,</div><div style>Breannan Smith</div><div style><a href="mailto:smith@cs.columbia.edu">smith@cs.columbia.edu</a></div><div style><br></div><div style>The backtrace:</div><div style><br></div>
<div style><div><div>Program received signal SIGSEGV, Segmentation fault.</div><div>0x00007ffff71b9701 in hsl_mc78_integer_mp_mc78_col_counts_integer_ ()</div><div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1</div>
<div>(gdb) bt</div><div>#0 0x00007ffff71b9701 in hsl_mc78_integer_mp_mc78_col_counts_integer_ ()</div><div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1</div>
<div>#1 0x00007ffff729b031 in hsl_ma97_double_mp_get_nzl_ ()</div><div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1</div><div>#2 0x00007ffff7298d9e in hsl_ma97_double_mp_compute_order_ ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1</div><div>#3 0x00007ffff72962ea in hsl_ma97_double_mp_analyse_double_ ()</div><div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1</div>
<div>#4 0x00007ffff72cd1c1 in ma97_analyse_d ()</div><div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1</div><div>#5 0x00007ffff7adf37e in Ipopt::Ma97SolverInterface::InitializeStructure(int, int, int const*, int const*) ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#6 0x00007ffff7ad2e19 in Ipopt::TSymLinearSolver::InitializeStructure(Ipopt::SymMatrix const&) ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#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</div>
<div>#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) ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#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) ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#10 0x00007ffff7a558d6 in Ipopt::LeastSquareMultipliers::CalculateMultipliers(Ipopt::Vector&, Ipopt::Vector&) ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#11 0x00007ffff79fea70 in Ipopt::DefaultIterateInitializer::least_square_mults(Ipopt::Journalist const&, Ipopt::IpoptNLP&, Ipopt::IpoptData&, Ipopt::IpoptCalculatedQuantities&, Ipopt::SmartPtr<Ipopt::EqMultiplierCalculator> const&, double) ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#12 0x00007ffff7a02862 in Ipopt::DefaultIterateInitializer::SetInitialIterates() ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#13 0x00007ffff7a195c2 in Ipopt::IpoptAlgorithm::InitializeIterates() ()</div><div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div>
<div>#14 0x00007ffff7a127e1 in Ipopt::IpoptAlgorithm::Optimize(bool) ()</div><div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#15 0x00007ffff798a542 in Ipopt::IpoptApplication::call_optimize() ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#16 0x00007ffff7989ca0 in Ipopt::IpoptApplication::OptimizeNLP(Ipopt::SmartPtr<Ipopt::NLP> const&, Ipopt::SmartPtr<Ipopt::AlgorithmBuilder>&) ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#17 0x00007ffff7989978 in Ipopt::IpoptApplication::OptimizeNLP(Ipopt::SmartPtr<Ipopt::NLP> const&) ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#18 0x00007ffff79898fa in Ipopt::IpoptApplication::OptimizeTNLP(Ipopt::SmartPtr<Ipopt::TNLP> const&) ()</div>
<div> from /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1</div><div>#19 0x0000000000402047 in main ()</div></div><div><br></div></div></div>