ERGO-Code / HiGHS

Linear optimization software
MIT License
957 stars 177 forks source link

double free or corruption (out) on STADAT1 problem #995

Open stephane-caron opened 1 year ago

stephane-caron commented 1 year ago

While testing HiGHS 1.2.2 (date: 2022-09-04, git hash: 8701dbf19) on the Maros-Meszaros test set, HiGHS crashes with the following error on the STADAT1 problem:

error
error
error
error
...
error
error
error
error
double free or corruption (out)
[1]    46070 abort (core dumped)  python run_benchmark.py -s highs -p STADAT1

If needed I can extract a script from this as in https://github.com/ERGO-Code/HiGHS/issues/992, just let me know.

feldmeier commented 1 year ago

I don't get the same error after doing some other fixes on the qp solver (possibly this memory issue is fixed by #1282), but it terminates with the wrong solution (objective value of -1.9636175956e+08 rather than the reported optimum of -2.8526864e+07). I'll see if I can find out why!

feldmeier commented 1 year ago

Intererstingly, with the latest updates to the QP solver, this instance now fails due to degeneracy detected. Still looking into it, instance appears to be a bit sensitive.

jajhall commented 1 year ago

No longer reproducible

stephane-caron commented 2 months ago

I'm sorry to be the bearer of bad news, but I tried re-enabling and testing again this problem today with HiGHS 1.7.2, and the error happens again:

[2024-08-14 11:00:07,531] [info] Solving STADAT1 by highs with default settings... (run.py:108)
error
error
error
error
...  <- repeated many times
error
error
error
double free or corruption (out)
[1]    48891 abort (core dumped)  python maros_meszaros.py run --rerun

This test can be reproduced by running the following command in the maros_meszaros_qpbenchmark project:

$ python maros_meszaros.py run --rerun --problem STADAT1 --solver highs
jajhall commented 2 months ago

Hi there, I've noticed a regression of HiGHS on the Maros-Meszaros test set, as interfaced in maros_meszaros_qpbenchmark:

$ python maros_meszaros.py run --rerun --problem LASER --solver highs                             ✔  qpbenchmark  
[2024-08-14 09:59:48,765] [info] Loading existing results from /home/frankd/src/maros_meszaros_qpbenchmark/results/maros_meszaros.csv (results.py:78)
[2024-08-14 09:59:48,781] [info] Solving LASER by highs with default settings... (run.py:108)
[1]    48021 segmentation fault (core dumped)  python maros_meszaros.py run --rerun --problem LASER --solver highs

My version of HiGHS is 1.7.2, installed from PyPI (as per the test set environment.yaml).

In a previous run from 2023-08-30, HiGHS 1.5.3 did not segfault on this problem.

stephane-caron commented 2 months ago

Thank you for following up! Just pointing out that the two problems yield different error messages: "double free or corruption" for LASER and "segmentation fault" for STADAT1. But maybe they will turn out to have the same root cause indeed.