[Ipopt] Memory error after get_bounds_info() in IPOPT

Hans Pirnay hans.pirnay at rwth-aachen.de
Sat Dec 15 09:00:22 EST 2012


Hi Alex,

try compiling your code in debug mode (gcc -g) and run it through
valgrind. valgrind will tell you where the 'free' comes from.

Hans

On Sat, Dec 15, 2012 at 12:49 PM, Alex Tătulea <tatulea.alex at gmail.com> wrote:
> Hello,
>
> I am new to IPOPT and I have to code this NLP in C++ under Linux. I have
> implemented all the functions and individually tested them, they seem to
> return the correct results.
>
> But when I try running the optimizeNLP() function, I get an error in the
> console with the message 'Double free or corruption (!prev)'. After tracking
> the error with GDB, it seems that the optimizer calls the get_nlp_info()
> routine with no error, and then performs the get_bounds_info() until return.
> At this point, seems that the free() function is called (I don't know where
> from) and then the memory error occurs and the program is aborted.
>
> If anyone has encountered something like this, please give me a hint on how
> to approach this problem. Is there some particular mechanism inside IPOPT
> for freeing memory and handling vectors I should be aware of? Inside this
> function I am not doing much, just assigning the values to x_l, x_u and
> g_l,g_u...
>
> Thanks in advance, I hope someone could help me here with an idea!
>
> Alex
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>



More information about the Ipopt mailing list