[Cbc] Some segmentation faults

Gabor Maroti marotig at gmail.com
Mon Sep 3 14:12:20 EDT 2007


Dear All,

Being a newbie for COIN-OR and CBC, I would appreciate any help for
the following problem.

I've got an LP file, and I wanted solve it by the stable Cbc-1.1.1.
Well, it worked fine -- mostly.  But sometimes the program just
stopped with segmentation faults.  Finally, I used this very minimal
program in MS Visual Studio 2005 (Express Edition, if that matters):

--- my code starts here ---
#include "CbcModel.hpp"
#include "OsiClpSolverInterface.hpp"

int main(int argc, const char* argv[])
{
    OsiClpSolverInterface solver1;
    int numberLpErrors = solver1.readLp( "p-46.lp", 1e-6 );
    if (numberLpErrors != 0) {
        std::exit(1);
    }
    solver1.setHintParam( OsiDoReducePrint, true, OsiHintTry );
    CbcModel model( solver1 );
    model.branchAndBound();
    return(0);
}
--- my code ends here ---

A major problem seems to be line 992 of CbcBranchActual.cpp:

    int iColumn = model_->integerVariable()[variable_];

At the very first one time when this line is reached, iColumn becomes
7175798, which is clearly garbage (the model has a lot less
variables).  This problem occurs many times later in course of the
program.

(BTW, my program on linux either crashes with a non-informative seg
fault, or solves the MIP to optimality.  I didn't debug the linux
code, though.)

My question is whether you experienced similar troubles, whether this
is a old and known issue, and in general, what's the bug reporting
policy here.  It is also possible (likely??) that I am the one who
does something terribly wrong.

Thanks,
Gabor


More information about the Cbc mailing list