# Error when specifying trace level with NonlinearSolve.jl

**URL:** https://discourse.julialang.org/t/error-when-specifying-trace-level-with-nonlinearsolve-jl/132844
**Category:** General Usage
**Tags:** nonlinearsolve
**Created:** [October 3, 2025, 9:46am UTC](https://discourse.julialang.org/t/error-when-specifying-trace-level-with-nonlinearsolve-jl/132844 "2025-10-03T09:46:29Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![rpetit](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rpetit/32/12552_2.png) [@rpetit](https://discourse.julialang.org/u/rpetit)
#### Post date: [October 3, 2025, 9:46am UTC](https://discourse.julialang.org/t/error-when-specifying-trace-level-with-nonlinearsolve-jl/132844/1 "2025-10-03T09:46:29Z")

</div>

Hi,

I got an error with NonlinearSolve.jl v4.12.0 when specifying a trace level different than TraceMinimal(). The following code is taken from the [diagnostics API page of the documentation](https://docs.sciml.ai/NonlinearSolve/stable/basics/diagnostics_api/).

```julia-auto
using NonlinearSolve

function nlfunc(resid, u0, p)
    resid[1] = u0[1] * u0[1] - p
    resid[2] = u0[2] * u0[2] - p
    resid[3] = u0[3] * u0[3] - p
    nothing
end

prob = NonlinearProblem(nlfunc, [1.0, 3.0, 5.0], 2.0)

solve(prob; show_trace = Val(true), trace_level = TraceAll())

```

Here is the full trace.

```julia-auto
Algorithm: NewtonRaphson(
    descent = NewtonDescent(),
    autodiff = AutoForwardDiff(),
    vjp_autodiff = AutoFiniteDiff(
        fdtype = Val{:forward}(),
        fdjtype = Val{:forward}(),
        fdhtype = Val{:hcentral}(),
        dir = true
    ),
    jvp_autodiff = AutoForwardDiff(),
    concrete_jac = Val{false}()
)

---- ------------- ----------- -------             
Iter f(u) inf-norm Step 2-norm cond(J)             
---- ------------- ----------- -------             
0 2.30000000e+01 0.00000000e+00 5.00000000e+00      
ERROR: MethodError: Cannot `convert` an object of type 
  Nothing to an object of type 
  AbstractArray
The function `convert` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  convert(::Type{T}, ::T) where T
   @ Base Base.jl:126
  convert(::Type{T}, ::T) where T<:AbstractArray
   @ Base abstractarray.jl:16
  convert(::Type{T}, ::LinearAlgebra.Factorization) where T<:AbstractArray
   @ LinearAlgebra ~/.julia/juliaup/julia-1.11.4+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/factorization.jl:104
  ...

Stacktrace:
  [1] #update_trace!#56
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/tracing.jl:207 [inlined]
  [2] update_trace!
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/tracing.jl:186 [inlined]
  [3] #update_trace!#57
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/tracing.jl:227 [inlined]
  [4] update_trace!
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/tracing.jl:220 [inlined]
  [5] step!(cache::NonlinearSolveFirstOrder.GeneralizedFirstOrderAlgorithmCache{…}; recompute_jacobian::Nothing)
    @ NonlinearSolveFirstOrder ~/.julia/packages/NonlinearSolveFirstOrder/gwWsK/src/solve.jl:333
  [6] step!
    @ ~/.julia/packages/NonlinearSolveFirstOrder/gwWsK/src/solve.jl:232 [inlined]
  [7] #step!#163
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:500 [inlined]
  [8] step!
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:494 [inlined]
  [9] solve!(cache::NonlinearSolveFirstOrder.GeneralizedFirstOrderAlgorithmCache{…})
    @ NonlinearSolveBase ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:240
 [10] __solve(::NonlinearProblem{…}, ::GeneralizedFirstOrderAlgorithm{…}; kwargs::@Kwargs{…})
    @ NonlinearSolveBase ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:228
 [11] __solve
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:223 [inlined]
 [12] macro expansion
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:419 [inlined]
 [13] __generated_polysolve(::NonlinearProblem{…}, ::NonlinearSolvePolyAlgorithm{…}; stats::SciMLBase.NLStats, alias_u0::Bool, verbose::Bool, initializealg::NonlinearSolveBase.NonlinearSolveDefaultInit, kwargs::@Kwargs{…})
    @ NonlinearSolveBase ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:376
 [14] __generated_polysolve
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:376 [inlined]
 [15] #__solve#152
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:349 [inlined]
 [16] __solve
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:346 [inlined]
 [17] #__solve#18
    @ ~/.julia/packages/NonlinearSolve/JTN4J/src/default.jl:27 [inlined]
 [18] __solve
    @ ~/.julia/packages/NonlinearSolve/JTN4J/src/default.jl:24 [inlined]
 [19] #__solve#153
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:360 [inlined]
 [20] __solve
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:352 [inlined]
 [21] #solve_call#139
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:154 [inlined]
 [22] solve_call
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:120 [inlined]
 [23] solve_up(::NonlinearProblem{…}, ::Nothing, ::Vector{…}, ::Float64; originator::SciMLBase.ChainRulesOriginator, kwargs::@Kwargs{…})
    @ NonlinearSolveBase ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:108
 [24] solve_up
    @ ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:101 [inlined]
 [25] solve(::NonlinearProblem{…}; sensealg::Nothing, u0::Nothing, p::Nothing, wrap::Val{…}, kwargs::@Kwargs{…})
    @ NonlinearSolveBase ~/.julia/packages/NonlinearSolveBase/2E600/src/solve.jl:81
 [26] top-level scope
    @ ~/Documents/code/julia/RadialCalderon/experiments_private/ex1/ex.jl:45
Some type information was truncated. Use `show(err)` to see complete types.

```

I have the same error with `TraceWithJacobianConditionNumber()` but no error with `TraceMinimal()`.

Is this part of the documentation outdated or is this an actual bug?

Thanks in advance!

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [October 3, 2025, 11:04am UTC](https://discourse.julialang.org/t/error-when-specifying-trace-level-with-nonlinearsolve-jl/132844/2 "2025-10-03T11:04:06Z")

</div>

> [@rpetit](#):
>
> Is this part of the documentation outdated or is this an actual bug?

Seems like this is a bug, but we’re also in the middle of a verbosity system overhaul so it might not be fixed until the new setup is done.

---

<div class="post-metadata">

### Author: ![rpetit](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rpetit/32/12552_2.png) [@rpetit](https://discourse.julialang.org/u/rpetit)
#### Post date: [October 4, 2025, 6:13am UTC](https://discourse.julialang.org/t/error-when-specifying-trace-level-with-nonlinearsolve-jl/132844/3 "2025-10-04T06:13:57Z")

</div>

Thanks for the quick reply. Should I open an issue in the github repo?

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [October 5, 2025, 3:17am UTC](https://discourse.julialang.org/t/error-when-specifying-trace-level-with-nonlinearsolve-jl/132844/4 "2025-10-05T03:17:37Z")

</div>

yes please
