First time using JuMP. Below is my JuMP specific code. I am getting very vague error when I try to solve the model and so I am not sure how to follow up. I’m not even sure how specific I should get:

note f is a user-defined function that is quite complicated, but I can certainly put it here if that is the next place to check.

Some suspicions i have:

f is a function defined within a function and references some variables that are in the scope of that function (its a closure, is that the correct term?). Could that be the issue? If so, how do I get around that?

f calls some other functions within it. Do they all have to be registered?

If you’re seeing the error just calling f with Dual arguments, then it’s not an issue with function registration in JuMP, so that simplifies the problem.

How much can you simplify f while still seeing the stack overflow? Can you post a minimal example? Stack overflow generally happens when you have infinite recursion, something like:

julia> f(x) = f(-x)
f (generic function with 1 method)
julia> f(1)
ERROR: StackOverflowError:
Stacktrace:
[1] f(::Int64) at ./REPL[1]:1 (repeats 80000 times)