[Ipopt] Debug printing in Ipopt

Brad Bell bradbell at seanet.com
Thu Aug 20 10:06:48 EDT 2020


I am using Ipopt-3.13.2 and having trouble understanding how the debug printing works.

I configure Ipopt with the following:
     ../../../Ipopt/configure \
         --disable-dependency-tracking \
         --prefix=/home/bradbell/prefix/dismod_at \
         ADD_FCFLAGS=-fallow-argument-mismatch \
         --enable-debug \
         --libdir=/home/bradbell/prefix/dismod_at/lib64 \
         --disable-shared \
         --with-coin-instdir=/home/bradbell/prefix/dismod_at \
         --with-ipopt-verbosity

If I run the program with no changes to the Ipopt source, it works (not fine because I am trying to 
understand why ipopt is failing to optimize my simple problem).

If in the file
     src/Algorithm/IpIpoptCalculatedQuantities.cpp
I change
     static const Index dbg_verbosity = 0;
to
     static const Index dbg_verbosity = 1;

I then build my application using Ipopt and run it in the gdb debugger and get the following message:
... snip ...
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x000000000086c83c in Ipopt::DebugJournalistWrapper::DebugPrintf (this=0x7fffffff6b10, verbosity=1, 
pformat=0xbc70b8 "-> Calling to: %s in obj: 0x%x\n")
     at ../../../../../Ipopt/src/Common/IpDebug.cpp:113
113          jrnl_->PrintfIndented(J_ERROR, J_DBG, indentation_level_, "# ");
... snip ...


More information about the Ipopt mailing list