Skip to content

StackOverflowError when solving a NonlinearProblem with Interval Bracketing Solver #631

@Ickaser

Description

@Ickaser

Describe the bug 🐞

Partially this was my own user error--interval methods require, obviously, an interval, and I passed only a single u0 wiht a NonlinearProblem instead of an IntervalNonlinearProblem. But instead of an informative error about the problem-solver mismatch I got a StackOverflowError and a lot of warnings about u0 aliasing.

Minimal Reproducible Example 👇

nlprob = NonlinearProblem(1.0) do t, _
    return t-1
end
solve(nlprob, ITP())

Error & Stacktrace ⚠️

┌ Warning: The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`.
└ @ DiffEqBase C:\Users\iwheeler\.julia\packages\DiffEqBase\5hvMq\src\solve.jl:1147
┌ Warning: The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`.
└ @ DiffEqBase C:\Users\iwheeler\.julia\packages\DiffEqBase\5hvMq\src\solve.jl:1147
.... [ad nauseam]
┌ Warning: The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`.
└ @ DiffEqBase C:\Users\iwheeler\.julia\packages\DiffEqBase\5hvMq\src\solve.jl:1147
ERROR: StackOverflowError:

While trying to diagnose the issue, I erroneously provided the other edge of the interval as a parameter, as follows. This also spits out a multitude of alias warnings, but instead of a StackOverflowError it seems to run without reaching an endpoint (at least in the limit of my patience).

nlprob = NonlinearProblem(0.0, 4.0) do t, _
    return t-1
end
solve(nlprob, ITP())

Environment (please complete the following information):
(trimmed for brevity, because I ran this in a larger environment)

  • Output of using Pkg; Pkg.status()
 [8913a72c] NonlinearSolve v4.9.0
  • Output of using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
  [8913a72c] NonlinearSolve v4.9.0
  [be0214bd] NonlinearSolveBase v1.12.0
  [5959db7a] NonlinearSolveFirstOrder v1.5.0
  [9a2c21bd] NonlinearSolveQuasiNewton v1.6.0
  [26075421] NonlinearSolveSpectralMethods v1.2.0
  • Output of versioninfo()
Julia Version 1.11.1
Commit 8f5b7ca12a (2024-10-16 10:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 8 × 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, tigerlake)
Threads: 1 default, 0 interactive, 1 GC (on 8 virtual cores)
Environment:
  JULIA_CONDAPKG_BACKEND = Null
  JULIA_PYTHONCALL_EXE = C:\Users\iwheeler\Miniconda3\python.exe

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions