Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault with CLP #78

Closed
gchabert opened this issue Dec 8, 2014 · 3 comments
Closed

Segmentation fault with CLP #78

gchabert opened this issue Dec 8, 2014 · 3 comments
Assignees
Labels

Comments

@gchabert
Copy link
Contributor

gchabert commented Dec 8, 2014

Sur l'exemple simple suivant, l'optimiseur par défaut produit un seg fault avec CLP (pas avec Soplex).
D'après la trace gdb ci-dessous, apparemment, c'est lié à un appel à l'instruction ClpModel::deleteRows dans LinearSolver::cleanConst.

Une indication sans doute importante: le système n'a pas de contrainte (optim pure).

Code:

    Variable x("x");
    Variable y("y");
    SystemFactory f;
    f.add_var(x);
    f.add_var(y);
    f.add_goal(-x*y+sqr(x+y-1));
    System sys(f);
    double prec=1e-7; // precision
    DefaultOptimizer o(sys,prec,prec);
    IntervalVector box(2, Interval(0,10));
    o.optimize(box,prec);

Trace gdb:

0 0xb7dfa09f in CoinPackedMatrix::deleteMinorVectors(int, int const_) ()
1 0xb7e07a45 in CoinPackedMatrix::deleteRows(int, int const_) ()
2 0xb7efa850 in ClpPackedMatrix::deleteRows(int, int const_) ()
3 0xb7ed04ae in ClpModel::deleteRows(int, int const_) ()
4 0x080f27f0 in ibex::LinearSolver::cleanConst (this=0x81d2288) at ../src/numeric/ibex_LinearSolver.cpp:1378
5 0x0806d445 in ibex::Optimizer::update_loup_simplex (this=0xbfffebf0, box=...) at ../src/strategy/ibex_OptimSimplex.cpp_:94
6 0x0806e87f in ibex::Optimizer::update_loup (this=0xbfffebf0, box=...) at ../src/strategy/ibex_Optimizer.cpp:200
7 0x0806efa9 in ibex::Optimizer::contract_and_bound (this=0xbfffebf0, c=..., init_box=...) at ../src/strategy/ibex_Optimizer.cpp:358
8 0x0806eb8b in ibex::Optimizer::handle_cell (this=0xbfffebf0, c=..., init_box=...) at ../src/strategy/ibex_Optimizer.cpp:258
9 0x0806f693 in ibex::Optimizer::optimize (this=0xbfffebf0, init_box=..., obj_init_bound=9,9999999999999995e-08)
at ../src/strategy/ibex_Optimizer.cpp:505

@Jordan08
Copy link
Member

Jordan08 commented Dec 9, 2014

C'est bizarre.
J'avais déjà fixé cette erreur dans la branche "develop".

ça ne bug pas chez moi.
Tu es sûr que le bug existe encore?

@gchabert
Copy link
Contributor Author

Je viens de vérifier, j'ai bien ce bug.
Ma branche develop est à jour et j'ai compilé avec CLP (j'ai testé avec filib et gaol).

@gchabert
Copy link
Contributor Author

[Obsolete ticket] L'interface CLP n'est plus compatible avec la v2.8.7 et sort de la distrib officielle d'ibex

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants