JuliaSmoothOptimizers / JuliaSmoothOptimizers/NLPModelsKnitro.jl

Memory leak due to Jacobian error

Open
#133 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
12
Forks
5
PR merge metrics
No merged PRs in 30d

Description

I encountered this issue while using KNITRO to solve the CUTEst problem "HS73". The solver keeps consuming progressively more memory, eventually leading to a crash due to memory exhaustion.

Here is the raw log of the failed optimization problem.

[knitro_hs73_log.txt](https://github.com/user-attachments/files/19093804/knitro_hs73_log.txt)

Steps to recreate the issue:
```
using CUTEst, NLPModelsKnitro
function decodemodel(name)
finalize(CUTEstModel(name))
end
prob="HS73"
broadcast(decodemodel, prob)
model=CUTEstModel(prob; decode=false)
results = knitro(model,
linsolver = 0,
maxtime_real = 100,
feastol = 1e-5,
linsolver_numthreads = 60,
outmode = 2,
outlev = 4,
outname = "./debug.log")
finalize(model)
```

Same behavior is observed with MA57 as well.
I approached Artelys for support as well and this is the response I got:
"As soon as this message occurs, Knitro should terminate. The fact that it doesn’t is an indication that the CUTEst interface to Knitro (which handles the Jacobian evaluation) is not handling this case properly in the callback evaluation. The gradient/Jacobian callback in CUTEst should return KN_RC_EVAL_ERR when an evaluation error occurs."

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.