-
Notifications
You must be signed in to change notification settings - Fork 25
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
Segfault when solving large problem with barrier #81
Comments
I'm guessing this is an issue with MUMPS :(. The good news is, it's only a 500 line function to debug: https://github.com/coin-or/Clp/blob/releases/1.17.6/Clp/src/ClpCholeskyBase.cpp#L2720-L3299 |
I have experienced segmentation faults as the instance runs out of RAM due to leakage. Apparently this is frequent in cases of c wrappers and not pure Julia modules. |
@mtanneau can you reproduce this on the latest How does one even uncompress that neos3.gz file? When I try
|
This is how I extracted the instance (on a Linux machine): wget http://plato.asu.edu/ftp/lptestset/misc/neos3.gz
gunzip neos3.gz
wget http://www.netlib.org/lp/data/emps.c
gcc emps.c
./a.out -s neos3 I'll try this on |
Ah, I missed the need to decompress twice. Here's the syntax for the latest release: using Clp
clp = Clp.Clp_newModel()
opt = Clp.ClpSolve_new()
Clp.ClpSolve_setSolveType(opt, 4, false)
Clp.Clp_readMps(clp, "neos3.mps", false, false)
Clp.Clp_initialSolveWithOptions(clp, opt) |
Can reproduce on latest master with identical stacktrace on both linux and Mac. Since these are now just direct calls to the C library, this is either a bug in how we compile the |
Still happens for me too. My hypothesis is that Clp just dies out because it is trying to factorize a way too large matrix (see the flop count at the second line). What puzzles me is that, when running Clp from the command line (see e.g. Clp's log from H. Mittelmann's website here), it does fine. Thus, I don't know whether it is due to (i) the command-line executable doing something more than the above code, or (ii) something different happens in the |
I have bad/good news (depending on the perspective): the issue seems to come from upstream. I tried the same sequence of C calls with Clp directly, and got the same error. FYI: coin-or/Clp#151 |
Reproducing J. Forrest's answer here:
Since it comes from Clp itself and not Clp.jl, I guess this issue can be closed. |
👍 At some point we will pull in a new Clp with the fix, but this seems like an uncommon edge case we don't need to leave this issue open for. |
Don't know whether this happens because of Julia or whether it's a Clp internal bug.
I am getting segmentation faults when trying to solve large-ish LPs with Clp's barrier algorithm.
The instance in the example below is
neos3
from Hans Mittelmann's benchmark and can be download here.MWE:
and the output:
Finally, system info:
and Clp versions (from Manifest):
The text was updated successfully, but these errors were encountered: