Closed NLaws closed 3 years ago
It looks like when createprob
is called, Xpress is not returning 0
, meaning something has gone wrong (possibly related to threading issues as you mentioned).
When a non-zero is returned, the macro in Xpress.jl (which I originally wrote) tries to get the error message from Xpress. And this macro assumes that the prob
exists in the scope where @checked
is expanded and hence is not doing the right thing inside the body of the createprob(_probholder)
function.
This is why you get prob not defined
. I've made a PR to fix that. When that PR is merged you should be able run it again and it should display an error message from Xpress. Maybe that'll help shine some light on what is going on.
Thank you @kdheepak !
@NLaws the PR has been merged. You can now use the default master
branch and it should work. Let us know if you run into any other issues.
I'm not sure if this exception is hiding something else going on, but there is a variable undefined in https://github.com/jump-dev/Xpress.jl/blob/e325c688e32ebe819cb4cb4db358635e0144f90a/src/utils.jl#L99
Item [7] is here, which is:
This is happening in the REopt Lite API, which uses Xpress.jl to solve 100's to 10,000's of problems per day. It does not happen consistently and so is difficult to recreate. We are running multiple Julia pods managed by Kubernetes, so I'm also suspect of some threading issues, though the pods should be isolated from each other. Any insights that the Xpress.jl developers might have would be very welcome!