Closed svigerske closed 5 years ago
Comment by @tkralphs created at 2007-04-09 03:16:12
Sorry about the formatting---Trac messed it up. I can send in an e-mail if you want.
Comment by @rlougee created at 2007-09-05 15:32:34
Thanks for submitting the ticket. The line numbers do not match up with the current trunk verson of CglKnapsackCoverso I'm not able to replicate the problem. Can you re-run and see if it still happens? If it does, can you send the CGL revision # as well as the SYMPHONY revision # and I'll try to figure it out.
Comment by @rlougee created at 2007-09-05 17:20:32
Disregard the early msg. I see that the ticket refers to CglKnapsackCover version stable 0.5, and the line numbers match up. The line Valgrind is complaining about assumes the cover has 2 elements. Someone commented out the code that enforced this condition, i.e.,
// If no minimal cover was found, pack it in
1909 // if (!gotCover || cover.getNumElements() < 2) {
1910 if (!gotCover) {
1911 return -1;
1912 }
A fix is to re-vert this change, however it's not clear from the svn who/why the changed was made. I'll check with the likly suspects & if there are no objections revert back.
Comment by @rlougee created at 2007-09-05 17:20:32
Changing status from new to assigned.
Comment by @rlougee created at 2007-09-05 17:23:15
seems trac doesn't do any better with formatting -- those lines were a cut and paste from the code.
Comment by @rlougee created at 2007-09-24 19:42:03
Line 1909 was uncommented and line 1910 was removed so the test is now...
if (!gotCover || cover.getNumElements()<2)
The fix is in stable 0.51 and will be in the next release of Cgl
Comment by @rlougee created at 2007-09-24 19:42:03
Resolution: fixed
Comment by @rlougee created at 2007-09-24 19:44:26
Don't know why Trac isn't printing the logical OR symbol in the code fragment....but it's there.
Issue created by migration from Trac.
Original creator: @tkralphs
Original creation time: 2007-04-09 03:04:09
Assignee: @rlougee
Version: stable 0.5
Valgrind output from solving blend2 with SYMPHONY trunk revision 1043
==1641== Conditional jump or move depends on uninitialised value(s) ==1641== at 0x80A868E: CglKnapsackCover::liftCoverCut(double&, int, CoinPack\ edVector&, CoinPackedVector&, CoinPackedVector&) const (CglKnapsackCover.cpp:25\ 40) ==1641== by 0x80AA251: CglKnapsackCover::liftAndUncomplementAndAdd(double, C\ oinPackedVector&, double&, int, int, CoinPackedVector&, CoinPackedVector&, Osi\ Cuts&) const (CglKnapsackCover.cpp:722) ==1641== by 0x80AE2B7: CglKnapsackCover::generateCuts(OsiSolverInterface con\ st&, OsiCuts&, CglTreeInfo) const (CglKnapsackCover.cpp:571) ==1641== by 0x807FCF7: generate_cgl_cuts(LPDATA, int*, CUT_DATA**, char, i\ nt) (lp_solver.c:3088) ==1641== by 0x808E69F: generate_cuts_in_lp_u(LP_PROB) (lp_wrapper.c:2125) ==1641== by 0x808C13E: receive_cuts(LP_PROB, int, int) (lp_proccomm.c:366) ==1641== by 0x8087E24: fathom_branch(LP_PROB) (lp_genfunc.c:365) ==1641== by 0x80882E6: process_chain(LP_PROB) (lp_genfunc.c:179) ==1641== by 0x807A48F: solve(TM_PROB) (tm_func.c:395) ==1641== by 0x805B1A4: sym_solve(SYM_ENVIRONMENT*) (master.c:879) ==1641== by 0x804B660: main (main.c:170)