[Cbc] unfreed memory
Jean-Philippe Chancelier
jpc at cermics.enpc.fr
Thu Jul 10 03:27:42 EDT 2014
Hi All,
I am using Cbc through CoinMp and it seams (valgrind report) that
some memory allocated by CbcCreateSolverObject is not freed
when exiting CoinMP.
jpc at clio: valgrind --suppressions=tests/valgrind.supp --leak-check=full bin/scilex -nw
==18397== Memcheck, a memory error detector
==18397== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==18397== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==18397== Command: bin/scilex -nw
==18397==
-nsp->exec src/libglpk/qp.sce
Coin0506I Presolve 2 (0) rows, 3 (0) columns and 6 (0) elements
Clp0006I 0 Obj -0 Dual inf 1.0499997 (3) w.o. free dual inf (1)
Clp0006I 2 Obj 202.5
Clp0006I 2 Obj 202.5
Clp0000I Optimal - objective value 202.5
Clp0032I Optimal objective 202.5 - 2 iterations time 0.542
-nsp->quit
==18397==
==18397== HEAP SUMMARY:
.....
==18397== 2,430 (676 direct, 1,754 indirect) bytes in 1 blocks are definitely lost in loss record 4,833 of 4,868
==18397== at 0x402A6DC: operator new(unsigned int) (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==18397== by 0x405E04F: CbcCreateSolverObject() (in /usr/lib/libCoinMP.so.0.0.0)
==18397== by 0x4060DEA: CbcOptimizeProblem (in /usr/lib/libCoinMP.so.0.0.0)
==18397== by 0x405ABB9: CoinOptimizeProblem (in /usr/lib/libCoinMP.so.0.0.0)
==18397== by 0x84CEE09: nsp_coinmp_solve (coinmp_cpp.cpp:109)
==18397== by 0x84C4621: int_coinmp_solve (clp-IN.c:510)
==18397== by 0x84C29D0: liblinprog_Interf (linprog-IN.c:1258)
==18397== by 0x82CA544: nsp_interfaces (callfunc.c:443)
==18397== by 0x82BC0A4: nsp_eval_func (FuncEval.c:164)
==18397== by 0x82B610E: nsp_eval (Eval.c:3091)
==18397== by 0x82B7678: nsp_eval_arg (Eval.c:1282)
==18397== by 0x82B8415: EvalEqual (Eval.c:1587)
==18397==
I do the following
hProb = CoinCreateProblem(problemName);
result = CoinLoadMatrix(....)
...
result = CoinOptimizeProblem(hProb, 0);
Retcode->R[0]= CoinGetSolutionStatus(hProb);
RetCost->R[0]= CoinGetObjectValue(hProb);
CoinGetSolutionValues(hProb, X->R, NULL, NULL, Lambda->R);
CoinUnloadProblem(hProb);
The versions I use are the followings.
BuildTools https://projects.coin-or.org/svn/BuildTools/stable/0.7
CoinUtils https://projects.coin-or.org/svn/CoinUtils/stable/2.8/CoinUtils
Clp https://projects.coin-or.org/svn/Clp/stable/1.14/Clp
Osi https://projects.coin-or.org/svn/Osi/stable/0.105/Osi
Cgl https://projects.coin-or.org/svn/Cgl/stable/0.57/Cgl
Cbc https://projects.coin-or.org/svn/Cbc/stable/2.7/Cbc
Data/Sample https://projects.coin-or.org/svn/Data/Sample/stable/1.2
Best Regards
jpc
More information about the Cbc
mailing list