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

sensitivity.c segmentation fault errors #186

Open
SelinBayramoglu opened this issue Mar 10, 2022 · 2 comments
Open

sensitivity.c segmentation fault errors #186

SelinBayramoglu opened this issue Mar 10, 2022 · 2 comments

Comments

@SelinBayramoglu
Copy link

SelinBayramoglu commented Mar 10, 2022

Hello,

I compiled SYMPHONY 5.6.18 with coinbrew using the following commands:

wget https://github.com/coin-or/SYMPHONY/archive/refs/tags/releases/5.6.18.zip
unzip 5.6.18.zip
wget https://raw.githubusercontent.com/coin-or/coinbrew/master/coinbrew
./coinbrew fetch SYMPHONY@5.6.18
./coinbrew build SYMPHONY --enable-optional --enable-debug --enable-sensitivity-analysis --disable-cgl-cuts --with-application --no-prompt

I'd like to use the sensitivity analysis feature. So I compiled the sensitivity.c program in the Examples folder via the Makefile. I got it to work with the example exmip1.lp in Data/Sample folder. For other example problems, I get several errors.

For example, with exmip1.mps I get:
++++++++++++++++++++++++++++++++++++++++++++++++++++

  • TM: Pruning NODE 1 LEVEL 1 while generating it.
    ++++++++++++++++++++++++++++++++++++++++++++++++++++
    Segmentation fault: 11

I want to perform sensitivity analysis without preprocessing as well, so I tried running the code again with the following parameters:

sym_set_int_param(env, "sensitivity_analysis", TRUE);
sym_set_int_param(env, "verbosity", 5);
sym_set_int_param(env, "prep_level", -1);

This time, I got a segmentation fault with the exmip1.lp as well, which used to work when preprocessing was on.

GDB shows that the error occurs at line 1610 of tm_func.c:

child->duals = bobj->duals[i];

where bobj->duals is a null pointer.

I'd appreciate any help/advice with this issue. Thank you.

@tkralphs
Copy link
Member

Thanks for reporting this and sorry that I haven't gotten to look at it yet. The sensitivity analysis features of SYMPHONY have not received a lot of exercise. @bsuresh Might you have a chance to look at this?

@tkralphs
Copy link
Member

@SelinBayramoglu I probably should have given you this answer right off the bat, but had to refresh my memory. The WS ("warm starting") branch has a lot of fixes for sensitivity and warm starting that have not made it into either master or 5.6. I guess that I probably won't end up fixing these issues in 5.6, but will move on to another stable version based on what is in the WS branch. The WS branch should be working well, since that is the branch I'm using most of the time. It does need to be rebased on master, though. There may be a few minor fixes in master that are not in WS.

I just tried the example that was failing in 5.6 and it seems to work fine in WS. Can you give it a try?

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

No branches or pull requests

2 participants