==8931== My PID = 8931, parent PID = 6308. Prog and args are: ==8931== ./cbc ==8931== ../../OS/data/mpsFiles/parincInteger.mps ==8931== -solve ==8931== -solve ==8931== ==8931== Invalid read of size 4 ==8931== at 0x41E729: CbcMain1(int, char const, CbcModel?&, int ()(CbcModel?, int)) (CbcSolver?.cpp:4464) ==8931== by 0x432BFC: CbcMain1(int, char const, CbcModel?&) (CbcSolver?.cpp:1093) ==8931== by 0x403D5A: main (CoinSolve?.cpp:337) ==8931== Address 0x5d1ad44 is 4 bytes before a block of size 0 alloc'd ==8931== at 0x4C2582C: operator new[](unsigned long) (vg_replace_malloc.c:274) ==8931== by 0x5EEE66: CglPreProcess::createOriginalIndices() const (CglPreProcess?.cpp:5099) ==8931== by 0x5EF169: CglPreProcess::originalColumns() const (CglPreProcess?.cpp:5069) ==8931== by 0x41B37A: CbcMain1(int, char const, CbcModel?&, int ()(CbcModel?, int)) (CbcSolver?.cpp:3756) ==8931== by 0x432BFC: CbcMain1(int, char const, CbcModel?&) (CbcSolver?.cpp:1093) ==8931== by 0x403D5A: main (CoinSolve?.cpp:337) ==8931== ==8931== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 8 from 1) ==8931== malloc/free: in use at exit: 84 bytes in 2 blocks. ==8931== malloc/free: 8,370 allocs, 8,368 frees, 17,501,489 bytes allocated. ==8931== For counts of detected errors, rerun with: -v ==8931== searching for pointers to 2 not-freed blocks. ==8931== checked 212,480 bytes. ==8931== ==8931== ==8931== 28 bytes in 1 blocks are definitely lost in loss record 1 of 2 ==8931== at 0x4C2582C: operator new[](unsigned long) (vg_replace_malloc.c:274) ==8931== by 0x4249AE: CbcMain1(int, char const, CbcModel?&, int ()(CbcModel?, int)) (CbcSolver?.cpp:5655) ==8931== by 0x432BFC: CbcMain1(int, char const, CbcModel?&) (CbcSolver?.cpp:1093) ==8931== by 0x403D5A: main (CoinSolve?.cpp:337) ==8931== ==8931== ==8931== 56 bytes in 1 blocks are definitely lost in loss record 2 of 2 ==8931== at 0x4C2582C: operator new[](unsigned long) (vg_replace_malloc.c:274) ==8931== by 0x4249D6: CbcMain1(int, char const, CbcModel?&, int ()(CbcModel?, int)) (CbcSolver?.cpp:5657) ==8931== by 0x432BFC: CbcMain1(int, char const, CbcModel?&) (CbcSolver?.cpp:1093) ==8931== by 0x403D5A: main (CoinSolve?.cpp:337) ==8931== ==8931== LEAK SUMMARY: ==8931== definitely lost: 84 bytes in 2 blocks. ==8931== possibly lost: 0 bytes in 0 blocks. ==8931== still reachable: 0 bytes in 0 blocks. ==8931== suppressed: 0 bytes in 0 blocks.
=======
From tkr:
Can you attach the actual files to the ticket? The formatting was removed in posting to TRAC and I can't seem to reconstruct the MPS file. Thanks!
During our work on the weekend I found a leak in the Cbc solver when specifying
cbc mpsfile -solve -solve
The input file and valgrind leak report are appended below.
ROWS
N OBJ L R0000000 L R0000001 L R0000002 L R0000003
COLUMNS
MARK0000 'MARKER' 'INTORG' x0 OBJ -10.0 x0 R0000000 0.7 R0000001 0.5 x0 R0000002 1.0 R0000003 0.1 x1 OBJ -9.0 x1 R0000000 1.0 R0000001 0.8333 x1 R0000002 0.6667 R0000003 0.25 MARK0000 'MARKER' 'INTEND'
RHS
RHS1 R0000000 630 RHS1 R0000001 600 RHS1 R0000002 708 RHS1 R0000003 135
BOUNDS ENDATA
==8931== My PID = 8931, parent PID = 6308. Prog and args are: ==8931== ./cbc ==8931== ../../OS/data/mpsFiles/parincInteger.mps ==8931== -solve ==8931== -solve ==8931== ==8931== Invalid read of size 4 ==8931== at 0x41E729: CbcMain1(int, char const, CbcModel?&, int ()(CbcModel?, int)) (CbcSolver?.cpp:4464) ==8931== by 0x432BFC: CbcMain1(int, char const, CbcModel?&) (CbcSolver?.cpp:1093) ==8931== by 0x403D5A: main (CoinSolve?.cpp:337) ==8931== Address 0x5d1ad44 is 4 bytes before a block of size 0 alloc'd ==8931== at 0x4C2582C: operator new[](unsigned long) (vg_replace_malloc.c:274) ==8931== by 0x5EEE66: CglPreProcess::createOriginalIndices() const (CglPreProcess?.cpp:5099) ==8931== by 0x5EF169: CglPreProcess::originalColumns() const (CglPreProcess?.cpp:5069) ==8931== by 0x41B37A: CbcMain1(int, char const, CbcModel?&, int ()(CbcModel?, int)) (CbcSolver?.cpp:3756) ==8931== by 0x432BFC: CbcMain1(int, char const, CbcModel?&) (CbcSolver?.cpp:1093) ==8931== by 0x403D5A: main (CoinSolve?.cpp:337) ==8931== ==8931== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 8 from 1) ==8931== malloc/free: in use at exit: 84 bytes in 2 blocks. ==8931== malloc/free: 8,370 allocs, 8,368 frees, 17,501,489 bytes allocated. ==8931== For counts of detected errors, rerun with: -v ==8931== searching for pointers to 2 not-freed blocks. ==8931== checked 212,480 bytes. ==8931== ==8931== ==8931== 28 bytes in 1 blocks are definitely lost in loss record 1 of 2 ==8931== at 0x4C2582C: operator new[](unsigned long) (vg_replace_malloc.c:274) ==8931== by 0x4249AE: CbcMain1(int, char const, CbcModel?&, int ()(CbcModel?, int)) (CbcSolver?.cpp:5655) ==8931== by 0x432BFC: CbcMain1(int, char const, CbcModel?&) (CbcSolver?.cpp:1093) ==8931== by 0x403D5A: main (CoinSolve?.cpp:337) ==8931== ==8931== ==8931== 56 bytes in 1 blocks are definitely lost in loss record 2 of 2 ==8931== at 0x4C2582C: operator new[](unsigned long) (vg_replace_malloc.c:274) ==8931== by 0x4249D6: CbcMain1(int, char const, CbcModel?&, int ()(CbcModel?, int)) (CbcSolver?.cpp:5657) ==8931== by 0x432BFC: CbcMain1(int, char const, CbcModel?&) (CbcSolver?.cpp:1093) ==8931== by 0x403D5A: main (CoinSolve?.cpp:337) ==8931== ==8931== LEAK SUMMARY: ==8931== definitely lost: 84 bytes in 2 blocks. ==8931== possibly lost: 0 bytes in 0 blocks. ==8931== still reachable: 0 bytes in 0 blocks. ==8931== suppressed: 0 bytes in 0 blocks.
=======
From tkr:
Can you attach the actual files to the ticket? The formatting was removed in posting to TRAC and I can't seem to reconstruct the MPS file. Thanks!