[Coin-discuss] Crash in CoinFactorization::updateColumnRFT

Kim Hansen kimhanse at gmail.com
Wed Apr 16 09:26:18 EDT 2008


Hi all

I get a crash with the attached problem when I try to solve it with
Coin-OR compiled yesterday.

I have pasted valgrind and gdb logs into this mail, the mps file is attached.

Regards,
Kim Hansen

-------------------

kim at betelgeuse:~/orion/trunk/solver$ valgrind cbc x.mps
==9960== Memcheck, a memory error detector.
==9960== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==9960== Using LibVEX rev 1658, a library for dynamic binary translation.
==9960== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==9960== Using valgrind-3.2.1-Debian, a dynamic binary instrumentation
framework.
==9960== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==9960== For more details, rerun with: -v
==9960==
Coin Cbc and Clp Solver version 2.00.00, build Apr 15 2008
command line - cbc x.mps
At line 1 NAME          BLANK
At line 2 ROWS
At line 174 COLUMNS
At line 1313 RHS
At line 1397 BOUNDS
At line 1563 ENDATA
Problem BLANK has 170 rows, 226 columns and 2021 elements
Coin0008I BLANK read with 0 errors
Presolve 86 (-84) rows, 98 (-128) columns and 1001 (-1020) elements
Perturbing problem by 0.001 % of 383155 - largest nonzero change
0.373449 (% 6.55674) - largest zero change 24.4985
0  Obj -8.9439e+07 Primal inf 1.98517e+08 (56) Dual inf 37.8269 (42)
54  Obj -3.57765e+06
Optimal - objective value 1.11135e+08
After Postsolve, objective 1.11135e+08, infeasibilities - dual 0 (0),
primal 1.35257e+06 (33)
Presolved model was optimal, full model needs cleaning up
0  Obj 1.12576e+08 Primal inf 301019 (58) Dual inf 6.12951e+11 (69)
End of values pass after 59 iterations
59  Obj 8.80033e+07 Primal inf 750.606 (3) Dual inf 4.8718e+11 (13)
==9960== Invalid write of size 4
==9960==    at 0x4479279:
CoinFactorization::updateColumnRFT(CoinIndexedVector*, int*)
(CoinFactorization4.cpp:1286)
==9960==    by 0x447B701:
CoinFactorization::updateColumnFT(CoinIndexedVector*,
CoinIndexedVector*) (CoinFactorization4.cpp:1597)
==9960==    by 0x4341416:
ClpFactorization::updateColumnFT(CoinIndexedVector*,
CoinIndexedVector*) (ClpFactorization.cpp:723)
==9960==    by 0x4402DA3: ClpSimplexPrimal::pivotResult(int)
(ClpSimplexPrimal.cpp:2582)
==9960==    by 0x440405E: ClpSimplexPrimal::whileIterating(int)
(ClpSimplexPrimal.cpp:654)
==9960==    by 0x44045C1: ClpSimplexPrimal::primal(int, int)
(ClpSimplexPrimal.cpp:462)
==9960==    by 0x43C17DE: ClpSimplex::primal(int, int) (ClpSimplex.cpp:5382)
==9960==    by 0x4409CFE: ClpSimplex::initialSolve(ClpSolve&)
(ClpSolve.cpp:2315)
==9960==    by 0x40AEB3B: CbcMain1(int, char const**, CbcModel&, int
(*)(CbcModel*, int)) (CbcSolver.cpp:4818)
==9960==    by 0x40C2434: CbcMain1(int, char const**, CbcModel&)
(CbcSolver.cpp:3042)
==9960==    by 0x8048A31: main (CoinSolve.cpp:221)
==9960==  Address 0x5470A80 is 0 bytes after a block of size 113,240 alloc'd
==9960==    at 0x401D7C1: operator new[](unsigned) (vg_replace_malloc.c:195)
==9960==    by 0x448313B: CoinArrayWithLength::conditionalNew(long)
(CoinIndexedVector.cpp:1529)
==9960==    by 0x44610ED: CoinFactorization::getAreas(int, int, int,
int) (CoinIndexedVector.hpp:630)
==9960==    by 0x4341F3A: ClpFactorization::factorize(ClpSimplex*,
int, bool) (ClpFactorization.cpp:316)
==9960==    by 0x43BEBC8: ClpSimplex::internalFactorize(int)
(ClpSimplex.cpp:1546)
==9960==    by 0x4400FB2:
ClpSimplexPrimal::statusOfProblemInPrimal(int&, int,
ClpSimplexProgress*, bool, int, ClpSimplex*)
(ClpSimplexPrimal.cpp:739)
==9960==    by 0x44044EA: ClpSimplexPrimal::primal(int, int)
(ClpSimplexPrimal.cpp:312)
==9960==    by 0x43C17DE: ClpSimplex::primal(int, int) (ClpSimplex.cpp:5382)
==9960==    by 0x4409CFE: ClpSimplex::initialSolve(ClpSolve&)
(ClpSolve.cpp:2315)
==9960==    by 0x40AEB3B: CbcMain1(int, char const**, CbcModel&, int
(*)(CbcModel*, int)) (CbcSolver.cpp:4818)
==9960==    by 0x40C2434: CbcMain1(int, char const**, CbcModel&)
(CbcSolver.cpp:3042)
==9960==    by 0x8048A31: main (CoinSolve.cpp:221)
==9960==
==9960== Invalid read of size 4
==9960==    at 0x4479002:
CoinFactorization::updateColumnRFT(CoinIndexedVector*, int*)
(CoinFactorization4.cpp:1345)
==9960==    by 0x447B701:
CoinFactorization::updateColumnFT(CoinIndexedVector*,
CoinIndexedVector*) (CoinFactorization4.cpp:1597)
==9960==    by 0x4341416:
ClpFactorization::updateColumnFT(CoinIndexedVector*,
CoinIndexedVector*) (ClpFactorization.cpp:723)
==9960==    by 0x4402DA3: ClpSimplexPrimal::pivotResult(int)
(ClpSimplexPrimal.cpp:2582)
==9960==    by 0x440405E: ClpSimplexPrimal::whileIterating(int)
(ClpSimplexPrimal.cpp:654)
==9960==    by 0x44045C1: ClpSimplexPrimal::primal(int, int)
(ClpSimplexPrimal.cpp:462)
==9960==    by 0x43C17DE: ClpSimplex::primal(int, int) (ClpSimplex.cpp:5382)
==9960==    by 0x4409CFE: ClpSimplex::initialSolve(ClpSolve&)
(ClpSolve.cpp:2315)
==9960==    by 0x40AEB3B: CbcMain1(int, char const**, CbcModel&, int
(*)(CbcModel*, int)) (CbcSolver.cpp:4818)
==9960==    by 0x40C2434: CbcMain1(int, char const**, CbcModel&)
(CbcSolver.cpp:3042)
==9960==    by 0x8048A31: main (CoinSolve.cpp:221)
==9960==  Address 0x5470A80 is 0 bytes after a block of size 113,240 alloc'd
==9960==    at 0x401D7C1: operator new[](unsigned) (vg_replace_malloc.c:195)
==9960==    by 0x448313B: CoinArrayWithLength::conditionalNew(long)
(CoinIndexedVector.cpp:1529)
==9960==    by 0x44610ED: CoinFactorization::getAreas(int, int, int,
int) (CoinIndexedVector.hpp:630)
==9960==    by 0x4341F3A: ClpFactorization::factorize(ClpSimplex*,
int, bool) (ClpFactorization.cpp:316)
==9960==    by 0x43BEBC8: ClpSimplex::internalFactorize(int)
(ClpSimplex.cpp:1546)
==9960==    by 0x4400FB2:
ClpSimplexPrimal::statusOfProblemInPrimal(int&, int,
ClpSimplexProgress*, bool, int, ClpSimplex*)
(ClpSimplexPrimal.cpp:739)
==9960==    by 0x44044EA: ClpSimplexPrimal::primal(int, int)
(ClpSimplexPrimal.cpp:312)
==9960==    by 0x43C17DE: ClpSimplex::primal(int, int) (ClpSimplex.cpp:5382)
==9960==    by 0x4409CFE: ClpSimplex::initialSolve(ClpSolve&)
(ClpSolve.cpp:2315)
==9960==    by 0x40AEB3B: CbcMain1(int, char const**, CbcModel&, int
(*)(CbcModel*, int)) (CbcSolver.cpp:4818)
==9960==    by 0x40C2434: CbcMain1(int, char const**, CbcModel&)
(CbcSolver.cpp:3042)
==9960==    by 0x8048A31: main (CoinSolve.cpp:221)
403  Obj 1.20648e+08 Primal inf 0.000866137 (1) Dual inf 108343 (13)
431  Obj 1.24686e+06
Optimal - objective value 1.24686e+06
Optimal objective 1246864.867 - 485 iterations time 3.842, Presolve 1.08
Total time 4.47
==9960==
==9960== ERROR SUMMARY: 24 errors from 2 contexts (suppressed: 37 from 1)
==9960== malloc/free: in use at exit: 0 bytes in 0 blocks.
==9960== malloc/free: 4,050 allocs, 4,050 frees, 8,485,587 bytes allocated.
==9960== For counts of detected errors, rerun with: -v
==9960== All heap blocks were freed -- no leaks are possible.
kim at betelgeuse:~/orion/trunk/solver$


(gdb) bt
#0  0x041a4279 in CoinFactorization::updateColumnRFT (this=0x4b918c8,
regionSparse=0x4ea1390, regionIndex=0x51766c8) at
CoinFactorization4.cpp:1286
#1  0x041a6702 in CoinFactorization::updateColumnFT (this=0x4b918c8,
regionSparse=0x4ea1390, regionSparse2=0x4e9ffe0) at
CoinFactorization4.cpp:1597
#2  0x0406c417 in ClpFactorization::updateColumnFT (this=0x4b918c8,
regionSparse=0x4ea1b80, regionSparse2=0x152) at
ClpFactorization.cpp:723
#3  0x0412dda4 in ClpSimplexPrimal::pivotResult (this=0x4b80724,
ifValuesPass=0) at ClpSimplexPrimal.cpp:2582
#4  0x0412f05f in ClpSimplexPrimal::whileIterating (this=0x4b80724,
valuesOption=0) at ClpSimplexPrimal.cpp:654
#5  0x0412f5c2 in ClpSimplexPrimal::primal (this=0x4b80724,
ifValuesPass=0, startFinishOptions=0) at ClpSimplexPrimal.cpp:462
#6  0x040ec7df in ClpSimplex::primal (this=0x4b80724,
ifValuesPass=338, startFinishOptions=0) at ClpSimplex.cpp:5382
#7  0x04134cff in ClpSimplex::initialSolve (this=0x4b80724,
options=@0xbe9d0218) at ClpSolve.cpp:2315
#8  0x08056d65 in main (argc=2, argv=0xbe9d08e4) at ClpMain.cpp:726
(gdb)

-- 
Kim Hansen
Vadgårdsvej 3, 2.tv
2860 Søborg
Fastnet: 3956 2437 -- Mobil: 3091 2437
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x.mps.bz2
Type: application/x-bzip2
Size: 9714 bytes
Desc: not available
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20080416/87561510/attachment.bz2>


More information about the Coin-discuss mailing list