-
Notifications
You must be signed in to change notification settings - Fork 41
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
Give meaningful error messages when parsing LPs #133
Comments
Actually, should have said also that this is an issue for CoinUtils, not really Clp. I'm going to transfer it there. We have a lot going on and a small number of developers, though, so can't promise anything. |
Not really at home in CoinLpIO - not as easy to clean up messages as I
would like. A quick hack gives - on a messed up problem.
command line - bin/cbc /tmp/exmip1.lp (default strategy 1)
#CoinLpIO ### ERROR: CoinLpIO: is_sense(): string: <<=
Line 8 ROW02: xy2 COL02 + 1.1 COL03 <<= 2.1
#CoinLpIO ### ERROR: CoinLpIO: is_sense(): string: <>=
Line 13 COL01 <>= 2.5
### CoinLpIO::readLp(): Variable <>= does not appear in objective
function or constraints
### ERROR: Bounds; expect a sense, get: 0
Line 14 0 <= COL02 <= 4.1
ERROR: CoinLpIO::readLp, ### ERROR: Bounds; expect a sense, get: 0
Even if a mess - would that be helpful?
John Forrest
…On 25/05/2020 17:04, GeorchW wrote:
Currently, parsing errors for LP files result in CoinError exceptions
being thrown, without any further information; it does not even give a
stack frame or even just a report of the currently executing method.
This makes finding out why a specific LP file cannot be parsed take
hours instead of seconds (at least if no debugger is attached).
I would suggest to:
* add more meaningful error messages than |CoinError|
* add line and column numbers to indicate where the problem occurred.
(Opening this issue as requested in coin-or/Clp#146
<coin-or/Clp#146>.)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#133>, or unsubscribe
|
It's definitely better than nothing. I might be able to tell what the problem with my LP file is with this addition. |
I can only second this. Any extra context information when debugging input would be great. Might have also helped isolating this bug that I found and reported over in issue #144 . |
Currently, parsing errors for LP files result in CoinError exceptions being thrown, without any further information; it does not even give a stack frame or even just a report of the currently executing method. This makes finding out why a specific LP file cannot be parsed take hours instead of seconds (at least if no debugger is attached).
I would suggest to:
CoinError
(Opening this issue as requested in coin-or/Clp#146.)
The text was updated successfully, but these errors were encountered: