[Cbc-tickets] [COIN-OR Branch-and-Cut MIP Solver] #90: Bug in factorSparseSmall (CoinFactorization2.cpp)
COIN-OR Branch-and-Cut MIP Solver
coin-trac at coin-or.org
Fri Apr 16 14:23:56 EDT 2010
#90: Bug in factorSparseSmall (CoinFactorization2.cpp)
------------------------+---------------------------------------------------
Reporter: sssiii | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: component1 | Version:
Keywords: |
------------------------+---------------------------------------------------
This is actually a CoinUtils bug, but I did not find a bug report link on
the respective page, so I am using the Cbc page.
My program crashed, so I ran valgrind and found out that there seems to be
a problem with factorSparseSmall() in CoinFactorization2.cpp. You can find
the relevant valgrind output below. I will trace the bug myself, but
cannot say if I will find it.
Here the output:
==598== Invalid write of size 8
==598== at 0x5A2103: CoinFactorization::factorSparseSmall() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x59DF2E: CoinFactorization::factor() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x69DBF5: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x4280F4:
lp_joint_histogram_segmentation(Math2D::Matrix<unsigned> const&, double,
unsigned, Math2D::Matrix<unsigned>&) (lp_segmentation.cc:2125)
==598== Address 0x16085a38 is 0 bytes after a block of size 4,415,504
alloc'd
==598== at 0x4C2492C: operator new[](unsigned long) (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==598== by 0x5B6885: CoinArrayWithLength::conditionalNew(long) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x596942: CoinFactorization::getAreas(int, int, int, int)
(in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x69D8D1: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598==
==598== Invalid write of size 4
==598== at 0x5A210A: CoinFactorization::factorSparseSmall() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x59DF2E: CoinFactorization::factor() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x69DBF5: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x4280F4:
lp_joint_histogram_segmentation(Math2D::Matrix<unsigned> const&, double,
unsigned, Math2D::Matrix<unsigned>&) (lp_segmentation.cc:2125)
==598== Address 0x16973038 is 0 bytes after a block of size 2,207,752
alloc'd
==598== at 0x4C2492C: operator new[](unsigned long) (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==598== by 0x5B6885: CoinArrayWithLength::conditionalNew(long) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x596969: CoinFactorization::getAreas(int, int, int, int)
(in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x69D8D1: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598==
==598== Invalid read of size 4
==598== at 0x5A2462: CoinFactorization::factorSparseSmall() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x59DF2E: CoinFactorization::factor() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x69DBF5: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x4280F4:
lp_joint_histogram_segmentation(Math2D::Matrix<unsigned> const&, double,
unsigned, Math2D::Matrix<unsigned>&) (lp_segmentation.cc:2125)
==598== Address 0x16973038 is 0 bytes after a block of size 2,207,752
alloc'd
==598== at 0x4C2492C: operator new[](unsigned long) (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==598== by 0x5B6885: CoinArrayWithLength::conditionalNew(long) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x596969: CoinFactorization::getAreas(int, int, int, int)
(in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x69D8D1: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598==
==598== Invalid read of size 8
==598== at 0x5A246A: CoinFactorization::factorSparseSmall() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x59DF2E: CoinFactorization::factor() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x69DBF5: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x4280F4:
lp_joint_histogram_segmentation(Math2D::Matrix<unsigned> const&, double,
unsigned, Math2D::Matrix<unsigned>&) (lp_segmentation.cc:2125)
==598== Address 0x16085a38 is 0 bytes after a block of size 4,415,504
alloc'd
==598== at 0x4C2492C: operator new[](unsigned long) (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==598== by 0x5B6885: CoinArrayWithLength::conditionalNew(long) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x596942: CoinFactorization::getAreas(int, int, int, int)
(in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x69D8D1: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598==
==598== Invalid read of size 8
==598== at 0x5A2266: CoinFactorization::factorSparseSmall() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x59DF2E: CoinFactorization::factor() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x69DBF5: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x4280F4:
lp_joint_histogram_segmentation(Math2D::Matrix<unsigned> const&, double,
unsigned, Math2D::Matrix<unsigned>&) (lp_segmentation.cc:2125)
==598== Address 0x16085a38 is 0 bytes after a block of size 4,415,504
alloc'd
==598== at 0x4C2492C: operator new[](unsigned long) (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==598== by 0x5B6885: CoinArrayWithLength::conditionalNew(long) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x596942: CoinFactorization::getAreas(int, int, int, int)
(in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x69D8D1: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598==
==598== Invalid read of size 4
==598== at 0x5A2269: CoinFactorization::factorSparseSmall() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x59DF2E: CoinFactorization::factor() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x69DBF5: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x4280F4:
lp_joint_histogram_segmentation(Math2D::Matrix<unsigned> const&, double,
unsigned, Math2D::Matrix<unsigned>&) (lp_segmentation.cc:2125)
==598== Address 0x16973038 is 0 bytes after a block of size 2,207,752
alloc'd
==598== at 0x4C2492C: operator new[](unsigned long) (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==598== by 0x5B6885: CoinArrayWithLength::conditionalNew(long) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x596969: CoinFactorization::getAreas(int, int, int, int)
(in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x69D8D1: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598==
==598== Invalid write of size 8
==598== at 0x5A2278: CoinFactorization::factorSparseSmall() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x59DF2E: CoinFactorization::factor() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x69DBF5: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x4280F4:
lp_joint_histogram_segmentation(Math2D::Matrix<unsigned> const&, double,
unsigned, Math2D::Matrix<unsigned>&) (lp_segmentation.cc:2125)
==598== Address 0x16085a38 is 0 bytes after a block of size 4,415,504
alloc'd
==598== at 0x4C2492C: operator new[](unsigned long) (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==598== by 0x5B6885: CoinArrayWithLength::conditionalNew(long) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x596942: CoinFactorization::getAreas(int, int, int, int)
(in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x69D8D1: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598==
==598== Invalid write of size 4
==598== at 0x5A2280: CoinFactorization::factorSparseSmall() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x59DF2E: CoinFactorization::factor() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x69DBF5: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x4280F4:
lp_joint_histogram_segmentation(Math2D::Matrix<unsigned> const&, double,
unsigned, Math2D::Matrix<unsigned>&) (lp_segmentation.cc:2125)
==598== Address 0x16973038 is 0 bytes after a block of size 2,207,752
alloc'd
==598== at 0x4C2492C: operator new[](unsigned long) (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==598== by 0x5B6885: CoinArrayWithLength::conditionalNew(long) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x596969: CoinFactorization::getAreas(int, int, int, int)
(in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x69D8D1: ClpFactorization::factorize(ClpSimplex*, int,
bool) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x750A4E: ClpSimplex::internalFactorize(int) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x734734: ClpSimplexDual::statusOfProblemInDual(int&, int,
double*, ClpDataSave&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x736CDE: ClpSimplexDual::fastDual(bool) (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x7F5BA2: OsiClpSolverInterface::solveFromHotStart() (in
/home/tosch/bin/lpseg.debug.L64)
==598== by 0x8AE0AE: CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*,
OsiSolverBranch*&, int) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x898D92: CbcModel::chooseBranch(CbcNode*&, int, CbcNode*,
OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*,
OsiSolverBranch*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A0189: CbcModel::doOneNode(CbcModel*, CbcNode*&,
CbcNode*&) (in /home/tosch/bin/lpseg.debug.L64)
==598== by 0x8A3AA7: CbcModel::branchAndBound(int) (in
/home/tosch/bin/lpseg.debug.L64)
--
Ticket URL: <https://projects.coin-or.org/Cbc/ticket/90>
COIN-OR Branch-and-Cut MIP Solver <http://projects.coin-or.org/Cbc>
An LP-based branch-and-cut MIP solver.
More information about the Cbc-tickets
mailing list