[Ipopt-tickets] [Ipopt] #305: windows Ipopt executables most often fail for all versions , while NEOS ipopt always succeed
Ipopt
coin-trac at coin-or.org
Tue May 22 10:01:33 EDT 2018
#305: windows Ipopt executables most often fail for all versions , while NEOS
ipopt always succeed
---------------------+------------------------
Reporter: maajdl | Owner: ipopt-team
Type: defect | Status: new
Priority: normal | Component: Ipopt
Version: 3.12 | Severity: major
Resolution: | Keywords:
---------------------+------------------------
Comment (by stefan):
With test2.nl, I see an invalid read within ASL
{{{
Invalid read of size 8
at 0x5651C2E: hv_fwd (sphes.c:95)
by 0x5651BFC: hv_fwd (sphes.c:91)
by 0x56527F3: pshv_prod1 (sphes.c:403)
by 0x5654BD9: sphes_setup_ASL (sphes.c:905)
by 0x4E64CB3: Ipopt::AmplTNLP::call_hesset() (AmplTNLP.cpp:238)
by 0x4E65182: Ipopt::AmplTNLP::get_nlp_info(int&, int&, int&, int&,
Ipopt::TNLP::IndexStyleEnum&) (AmplTNLP.cpp:298)
by 0x51BB0A2:
Ipopt::TNLPAdapter::GetSpaces(Ipopt::SmartPtr<Ipopt::VectorSpace const>&,
Ipopt::SmartPtr<Ipopt::VectorSpace const>&,
Ipopt::SmartPtr<Ipopt::VectorSpace const>&,
Ipopt::SmartPtr<Ipopt::VectorSpace const>&,
Ipopt::SmartPtr<Ipopt::MatrixSpace const>&,
Ipopt::SmartPtr<Ipopt::VectorSpace const>&,
Ipopt::SmartPtr<Ipopt::MatrixSpace const>&,
Ipopt::SmartPtr<Ipopt::VectorSpace const>&,
Ipopt::SmartPtr<Ipopt::MatrixSpace const>&,
Ipopt::SmartPtr<Ipopt::VectorSpace const>&,
Ipopt::SmartPtr<Ipopt::MatrixSpace const>&,
Ipopt::SmartPtr<Ipopt::MatrixSpace const>&,
Ipopt::SmartPtr<Ipopt::MatrixSpace const>&,
Ipopt::SmartPtr<Ipopt::SymMatrixSpace const>&) (IpTNLPAdapter.cpp:399)
by 0x52881E5:
Ipopt::OrigIpoptNLP::InitializeStructures(Ipopt::SmartPtr<Ipopt::Vector>&,
bool, Ipopt::SmartPtr<Ipopt::Vector>&, bool,
Ipopt::SmartPtr<Ipopt::Vector>&, bool, Ipopt::SmartPtr<Ipopt::Vector>&,
bool, Ipopt::SmartPtr<Ipopt::Vector>&, bool,
Ipopt::SmartPtr<Ipopt::Vector>&, Ipopt::SmartPtr<Ipopt::Vector>&)
(IpOrigIpoptNLP.cpp:238)
by 0x5263F3E:
Ipopt::IpoptData::InitializeDataStructures(Ipopt::IpoptNLP&, bool, bool,
bool, bool, bool) (IpIpoptData.cpp:122)
by 0x5220523: Ipopt::DefaultIterateInitializer::SetInitialIterates()
(IpDefaultIterateInitializer.cpp:194)
by 0x523AE37: Ipopt::IpoptAlgorithm::InitializeIterates()
(IpIpoptAlg.cpp:557)
by 0x52398EA: Ipopt::IpoptAlgorithm::Optimize(bool)
(IpIpoptAlg.cpp:285)
Address 0x86a0270 is 0 bytes after a block of size 19,312 alloc'd
at 0x4C2CEDF: malloc (vg_replace_malloc.c:299)
by 0x56024B4: mymalloc_ASL (misc.c:427)
by 0x5602871: M1alloc_ASL (misc.c:532)
by 0x560304C: mem_ASL (misc.c:740)
by 0x561837A: new_expr (pfg_read.c:480)
by 0x5618FAD: eread (pfg_read.c:727)
by 0x5619423: eread (pfg_read.c:798)
by 0x5618F94: eread (pfg_read.c:727)
by 0x5618F94: eread (pfg_read.c:727)
by 0x5619569: eread (pfg_read.c:813)
by 0x5618F81: eread (pfg_read.c:726)
by 0x5618F94: eread (pfg_read.c:727)
}}}
I get the same if I update ASL to version 20161228 (taken from
https://github.com/ampl/mp/tree/master/src/asl).
So this needs some more time-intenstive investigation. Could be a problem
with the way how Pyomo writes the .nl file, the way how Ipopt handles
constant objective functions, or (more likely) a bug in ASL itself.
Disabling the use of the ASL Hessian by setting the
limited_hessian_approximation option would be one workaround, but that
costs performance.
It may also be worth trying with a non-constant objective function.
--
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/305#comment:4>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.
More information about the Ipopt-tickets
mailing list