Hi Drew

On Sun, 16 Jun 2019 at 10:09, Graham Inggs <gin...@debian.org> wrote:
> Just as a reference, the commit that solved the problem in upstream is
> coin-or/Ipopt@4c36f88 [2]. The GitHub reference in the commit name is
> wrong because since then the coin-or/Ipopt repo has been replaced with
> the one migrated from trac, and all the "old" PR and issue got lost.
>
> It seems that this patch should be used instead.
>
> [2] 
> https://github.com/coin-or/Ipopt/commit/4c36f888f1e8a609975f0bee60fe04958024236c

Using the steps below (also from the upstream bug), I was able to
reproduce the error and confirm that the above patch it.  I intend to
NMU.

sudo apt install cmake valgrind build-essential coinor-libipopt-dev
git clone https://github.com/traversaro/ipopt-cmake-demo
cd ipopt-cmake-demo
mkdir build
cd build
cmake ..
make
valgrind ./ipopt_example

Without the patch, valgrind outputs:

==8203== Conditional jump or move depends on uninitialised value(s)
==8203==    at 0x5C41E26: dmumps_ (in
/usr/lib/x86_64-linux-gnu/libdmumps_seq-5.1.2.so)
==8203==    by 0x5C4744D: dmumps_f77_ (in
/usr/lib/x86_64-linux-gnu/libdmumps_seq-5.1.2.so)
==8203==    by 0x5C3FF52: dmumps_c (in
/usr/lib/x86_64-linux-gnu/libdmumps_seq-5.1.2.so)
==8203==    by 0x4C34336:
Ipopt::MumpsSolverInterface::MumpsSolverInterface() (in
/usr/lib/libipopt.so.1.9.9)
==8203==    by 0x4B64B7A:
Ipopt::AlgorithmBuilder::BuildBasicAlgorithm(Ipopt::Journalist const&,
Ipopt::OptionsList const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) (in
/usr/lib/libipopt.so.1.9.9)
==8203==    by 0x4B26CB5:
Ipopt::IpoptApplication::OptimizeNLP(Ipopt::SmartPtr<Ipopt::NLP>
const&, Ipopt::SmartPtr<Ipopt::AlgorithmBuilder>&) (in
/usr/lib/libipopt.so.1.9.9)
==8203==    by 0x4B1E4D8:
Ipopt::IpoptApplication::OptimizeNLP(Ipopt::SmartPtr<Ipopt::NLP>
const&) (in /usr/lib/libipopt.so.1.9.9)
==8203==    by 0x4B1E6A9:
Ipopt::IpoptApplication::OptimizeTNLP(Ipopt::SmartPtr<Ipopt::TNLP>
const&) (in /usr/lib/libipopt.so.1.9.9)
==8203==    by 0x10B58F: main (in
/home/graham/debian-packages-ssd/coinor-ipopt/ipopt-cmake-demo/build/ipopt_example)
...
==8203== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

With the patch, valgrind outputs:

==8300== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Regards
Graham

Reply via email to