[Ipopt] Ipopt crashes after switching to emergency mode
Stefan Vigerske
stefan at math.hu-berlin.de
Sun Feb 8 04:33:51 EST 2015
Hi,
I'm not sure what the callee-saved register says, I'm more familiar with
looking at the stack trace.
In both cases, one is in function Ipopt::IteratesVector::z_L(),
which calls Ipopt::IteratesVector::GetIterateFromComp(4), which calls
Ipopt::CompoundVector::IsCompNull(4), which calls operator[](4) from an
std::vector, and there it crashes.
So my guess is, that the vector is too short (<5 elements).
You could check this by configuring Ipopt with
--with-ipopt-checklevel=1
This should enable more checks, esp. the one in IsCompNull() that checks
that the index is in range (IpCompoundVector.hpp:78).
But if that has been verified to be the problem, I'm not sure what is
causing it.
What exactly are the options you are passing to Ipopt?
Further, the warning "Least square initialization of x and s failed!"
isn't something that usually comes up, maybe that should be
investigated, too.
The error from trac may be from using some forbidden characters in the
ticket message. Unfortunately, it's not clear which characters are not
allowed.
Best,
Stefan
On 02/03/2015 03:48 PM, Jarkko Miettinen wrote:
> I am using Ipopt with MUMPS through jIpopt on OS X. The version is 3.11.9.
> When using a specific (not too large) set of data with my model using
> metrotha-algorithm, I get a segmentation fault every time.
>
> Number of nonzeros in equality constraint Jacobian...: 5560
> Number of nonzeros in inequality constraint Jacobian.: 1698
> Number of nonzeros in Lagrangian Hessian.............: 2085
>
> Least square initialization of x and s failed!
> Total number of variables............................: 1678
> variables with only lower bounds: 1678
> variables with lower and upper bounds: 0
> variables with only upper bounds: 0
> Total number of equality constraints.................: 1390
> Total number of inequality constraints...............: 1685
> inequality constraints with only lower bounds: 1683
> inequality constraints with lower and upper bounds: 2
> inequality constraints with only upper bounds: 0
>
> ...
>
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
> alpha_pr ls
> 190 7.4376043e+03 6.07e+03 9.14e+22 4.8 1.60e+03 19.8 9.95e-01
> 6.80e-04h 1
> 191 9.2395614e+03 4.74e+05 1.18e+23 -5.1 1.18e+08 19.3 9.07e-01
> 6.61e-05h 1
> 192 9.1964024e+03 7.82e+03 1.18e+23 -10.2 2.45e+03 19.7 9.90e-01
> 2.46e-02h 1
> 193 9.1963215e+03 7.82e+03 1.18e+23 -11.0 1.57e+04 19.2 9.90e-01
> 3.81e-05h 1
> 194 2.5322626e+04 1.87e+06 6.10e+23 -11.0 6.72e+06 19.7 7.55e-01
> 3.55e-03h 1
> 195 2.5373612e+04 2.40e+04 6.11e+23 1.9 2.05e+05 19.2 1.00e+00
> 6.26e-04h 1
> 196 2.5373315e+04 2.40e+04 6.11e+23 1.7 2.39e+04 19.6 1.00e+00
> 3.24e-05h 1
> WARNING: Problem in step computation; switching to emergency mode.
> 197r 2.5373315e+04 2.40e+04 1.00e+03 4.4 0.00e+00 19.1 0.00e+00
> 0.00e+00R 1
>
> There was a release 3.11.10 which mentioned a memory allocation bug, but
> this does not seem to me like that.
> Both crashes seem to have something to do with smart pointers (see the
> attached error logs for stack trace) and curiously both have the same
> function (Journalist#printf,
> _ZNK5Ipopt10Journalist6PrintfENS_13EJournalLevelENS_16EJournalCategoryEPKcz)
> in callee-saved register.
>
> I would've reported this error in trac, but I seem to get this error on
> every form submission there: Missing or invalid form token. Do you have
> cookies enabled?
>
> Do the stack traces point enough to correct direction, or would more
> information be useful? I don't see an easy way to make this easily
> reproduceable.
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
More information about the Ipopt
mailing list