Package evaluation to load ODEInterface on Julia 1.14.0-DEV.2226 (797a5ef2b0*) started at 2026-05-23T19:22:05.346 ################################################################################ # Set-up # Set-up completed after 0.12s ################################################################################ # Installation # Installing ODEInterface... Resolving package versions... Installed JLLWrappers ────── v1.8.0 Installed ODEInterface_jll ─ v0.0.2+0 Installed Preferences ────── v1.5.2 Installed ODEInterface ───── v0.5.0 Installing 1 artifacts Installed artifact ODEInterface 870.6 KiB Updating `~/.julia/environments/v1.14/Project.toml` [54ca160b] + ODEInterface v0.5.0 Updating `~/.julia/environments/v1.14/Manifest.toml` [692b3bcd] + JLLWrappers v1.8.0 [54ca160b] + ODEInterface v0.5.0 [21216c6a] + Preferences v1.5.2 [c771fb93] + ODEInterface_jll v0.0.2+0 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [d6f4376e] + Markdown v1.11.0 [de0858da] + Printf v1.11.0 [f489334b] + StyledStrings v1.13.0 [fa267f1f] + TOML v1.0.3 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.5.1+0 [4536629a] + OpenBLAS_jll v0.3.33+0 [8e850b90] + libblastrampoline_jll v5.15.0+0 Building ODEInterface → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/5dfb3d7199de97cfdc81f1971a2727e628ff472b/build.log` Installation completed after 10.64s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Project No packages added to or removed from `~/.julia/environments/pkgeval/Project.toml` Manifest No packages added to or removed from `~/.julia/environments/pkgeval/Manifest.toml` Precompiling package dependencies... Precompiling project... 2.3 s ✓ Preferences 2.7 s ✓ JLLWrappers 3.0 s ✓ ODEInterface_jll ┌ Info: JuliaLowering threw given input: │ code = │ :(#= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83 =# Core.@doc " function create_dopri_eval_sol_fcn_closure( cbi::CI, d::FInt,\n method_contd::Ptr{Cvoid}) where {FInt<:FortranInt,\n CI<:DopriInternalCallInfos}\n\ngenerates a eval_sol_fcn for dopri5 and dop853.\n\nWhy is a closure needed? We need a function `eval_sol_fcn`\nthat calls `CONTD5_` or `CONTD8_` (with `ccall`).\nBut `CONTD?_` needs the informations for the current state. This\ninformations were saved by `unsafe_dopriSoloutCallback` in the\n`DopriInternalCallInfos`. `eval_sol_fcn` needs to get this informations.\nHere comes `create_dopri_eval_sol_fcn_closure` into play: this function\ntakes the call-informations and generates a `eval_sol_fcn` with this data.\n\nWhy doesn't `unsafe_dopriSoloutCallback` generate a closure (then\nthe current state needs not to be saved in `DopriInternalCallInfos`)?\nBecause then every call to `unsafe_dopriSoloutCallback` would have\ngenerated a closure function. That's a lot of overhead: 1 closure function\nfor every solout call. With the strategy above, we have 1 closure function\nper ODE-solver-call, i.e. 1 closure function per ODE.\n\nFor the typical calling sequence, see `DopriInternalCallInfos`.\n" function create_dopri_eval_sol_fcn_closure(cbi::CI, d::FInt, method_contd::Ptr{Cvoid}) where {FInt <: FortranInt, CI <: DopriInternalCallInfos} │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:107 =# │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:111 =# │ function eval_sol_fcn_closure(s::Float64) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:111 =# │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:112 =# │ (lio, l, lprefix) = (cbi.logio, cbi.loglevel, cbi.eval_lprefix) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:113 =# │ l_eval = l & LOG_EVALSOL > 0 │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:115 =# │ l_eval && println(lio, lprefix, "called with s=", s) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:116 =# │ cbi.cont_s[1] = s │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:117 =# │ result = Vector{Float64}(undef, d) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:118 =# │ if s == cbi.tNew │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:119 =# │ result[:] = cbi.xNew │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:120 =# │ l_eval && println(lio, lprefix, "not calling contd because s==tNew") │ else │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:122 =# │ for k = 1:d │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:123 =# │ cbi.cont_i[1] = k │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:124 =# │ result[k] = ccall(method_contd, Float64, (Ptr{FInt}, Ptr{Float64}, Ptr{Float64}, Ptr{FInt}, Ptr{FInt}), cbi.cont_i, cbi.cont_s, cbi.cont_con, cbi.cont_icomp, cbi.cont_nd) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:127 =# │ end │ end │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:130 =# │ l_eval && println(lio, lprefix, "contd returned ", result) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:131 =# │ return result │ end │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:133 =# │ return eval_sol_fcn_closure │ end) │ st0 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__ │ [macrocall] │ │ @doc :: Identifier │ mod │ :(#= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83 =#) :: Value │ │ " function create_dopri_eval_sol_fcn_closure( cbi::CI, d::FInt,\n method_contd::Ptr{Cvoid}) where {FInt<:FortranInt,\n CI<:DopriInternalCallInfos}\n\ngenerates a eval_sol_fcn for dopri5 and dop853.\n\nWhy is a closure needed? We need a function `eval_sol_fcn`\nthat calls `CONTD5_` or `CONTD8_` (with `ccall`).\nBut `CONTD?_` needs the informations for the current state. This\ninformations were saved by `unsafe_dopriSoloutCallback` in the\n`DopriInternalCallInfos`. `eval_sol_fcn` needs to get this informations.\nHere comes `create_dopri_eval_sol_fcn_closure` into play: this function\ntakes the call-informations and generates a `eval_sol_fcn` with this data.\n\nWhy doesn't `unsafe_dopriSoloutCallback` generate a closure (then\nthe current state needs not to be saved in `DopriInternalCallInfos`)?\nBecause then every call to `unsafe_dopriSoloutCallback` would have\ngenerated a closure function. That's a lot of overhead: 1 closure function\nfor every solout call. With the strategy above, we have 1 closure function\nper ODE-solver-call, i.e. 1 closure function per ODE.\n\nFor the typical calling sequence, see `DopriInternalCallInfos`.\n" :: Value │ │ [function] │ │ [where] │ │ [call] │ │ create_dopri_eval_sol_fcn_closure :: Identifier │ │ [::] │ │ cbi :: Identifier │ │ CI :: Identifier │ │ [::] │ │ d :: Identifier │ │ FInt :: Identifier │ │ [::] │ │ method_contd :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ Cvoid :: Identifier │ │ [<:] │ │ FInt :: Identifier │ │ FortranInt :: Identifier │ │ [<:] │ │ CI :: Identifier │ │ DopriInternalCallInfos :: Identifier │ │ [block] │ │ [function] │ │ [call] │ │ eval_sol_fcn_closure :: Identifier │ │ [::] │ │ s :: Identifier │ │ Float64 :: Identifier │ │ [block] │ │ [=] │ │ [tuple] │ │ lio :: Identifier │ │ l :: Identifier │ │ lprefix :: Identifier │ │ [tuple] │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ logio :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ loglevel :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ eval_lprefix :: Identifier │ │ [=] │ │ l_eval :: Identifier │ │ [call] │ │ > :: Identifier │ │ [call] │ │ & :: Identifier │ │ l :: Identifier │ │ LOG_EVALSOL :: Identifier │ │ 0 :: Value │ │ [&&] │ │ l_eval :: Identifier │ │ [call] │ │ println :: Identifier │ │ lio :: Identifier │ │ lprefix :: Identifier │ │ "called with s=" :: Value │ │ s :: Identifier │ │ [=] │ │ [ref] │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_s :: Identifier │ │ 1 :: Value │ │ s :: Identifier │ │ [=] │ │ result :: Identifier │ │ [call] │ │ [curly] │ │ Vector :: Identifier │ │ Float64 :: Identifier │ │ undef :: Identifier │ │ d :: Identifier │ │ [if] │ │ [call] │ │ == :: Identifier │ │ s :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ tNew :: Identifier │ │ [block] │ │ [=] │ │ [ref] │ │ result :: Identifier │ │ : :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ xNew :: Identifier │ │ [&&] │ │ l_eval :: Identifier │ │ [call] │ │ println :: Identifier │ │ lio :: Identifier │ │ lprefix :: Identifier │ │ "not calling contd because s==tNew" :: Value │ │ [block] │ │ [for] │ │ [=] │ │ k :: Identifier │ │ [call] │ │ : :: Identifier │ │ 1 :: Value │ │ d :: Identifier │ │ [block] │ │ [=] │ │ [ref] │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_i :: Identifier │ │ 1 :: Value │ │ k :: Identifier │ │ [=] │ │ [ref] │ │ result :: Identifier │ │ k :: Identifier │ │ [call] │ │ ccall :: Identifier │ │ method_contd :: Identifier │ │ Float64 :: Identifier │ │ [tuple] │ │ [curly] │ │ Ptr :: Identifier │ │ FInt :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ Float64 :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ Float64 :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ FInt :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ FInt :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_i :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_s :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_con :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_icomp :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_nd :: Identifier │ │ [&&] │ │ l_eval :: Identifier │ │ [call] │ │ println :: Identifier │ │ lio :: Identifier │ │ lprefix :: Identifier │ │ "contd returned " :: Value │ │ result :: Identifier │ │ [return] │ │ result :: Identifier │ │ [return] │ │ eval_sol_fcn_closure :: Identifier │ │ │ st1 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source │ [block] │ │ [=] │ │ val :: Identifier │ scope_layer=3 │ [function] │ │ [where] │ │ [call] │ │ create_dopri_eval_sol_fcn_closure :: Identifier │ scope_layer=1 │ [::] │ │ cbi :: Identifier │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ [::] │ │ d :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [::] │ │ method_contd :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ Cvoid :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ FortranInt :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ DopriInternalCallInfos :: Identifier │ scope_layer=1 │ [block] │ │ [function] │ │ [call] │ │ eval_sol_fcn_closure :: Identifier │ scope_layer=1 │ [::] │ │ s :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [tuple] │ │ lio :: Identifier │ scope_layer=1 │ l :: Identifier │ scope_layer=1 │ lprefix :: Identifier │ scope_layer=1 │ [tuple] │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ logio :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ loglevel :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ eval_lprefix :: Identifier │ │ [=] │ │ l_eval :: Identifier │ scope_layer=1 │ [call] │ │ > :: Identifier │ scope_layer=1 │ [call] │ │ & :: Identifier │ scope_layer=1 │ l :: Identifier │ scope_layer=1 │ LOG_EVALSOL :: Identifier │ scope_layer=1 │ 0 :: Value │ macro_source=181 │ [&&] │ │ l_eval :: Identifier │ scope_layer=1 │ [call] │ │ println :: Identifier │ scope_layer=1 │ lio :: Identifier │ scope_layer=1 │ lprefix :: Identifier │ scope_layer=1 │ "called with s=" :: Value │ macro_source=181 │ s :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_s :: Identifier │ │ 1 :: Value │ macro_source=181 │ s :: Identifier │ scope_layer=1 │ [=] │ │ result :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ undef :: Identifier │ scope_layer=1 │ d :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ == :: Identifier │ scope_layer=1 │ s :: Identifier │ scope_layer=1 │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ tNew :: Identifier │ │ [block] │ │ [=] │ │ [ref] │ │ result :: Identifier │ scope_layer=1 │ : :: Identifier │ scope_layer=1 │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ xNew :: Identifier │ │ [&&] │ │ l_eval :: Identifier │ scope_layer=1 │ [call] │ │ println :: Identifier │ scope_layer=1 │ lio :: Identifier │ scope_layer=1 │ lprefix :: Identifier │ scope_layer=1 │ "not calling contd because s==tNew" :: Value │ macro_source=181 │ [block] │ │ [for] │ │ [=] │ │ k :: Identifier │ scope_layer=1 │ [call] │ │ : :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=181 │ d :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [ref] │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_i :: Identifier │ │ 1 :: Value │ macro_source=181 │ k :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ result :: Identifier │ scope_layer=1 │ k :: Identifier │ scope_layer=1 │ [call] │ │ ccall :: Identifier │ scope_layer=1 │ method_contd :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ [tuple] │ │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_i :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_s :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_con :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_icomp :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_nd :: Identifier │ │ [&&] │ │ l_eval :: Identifier │ scope_layer=1 │ [call] │ │ println :: Identifier │ scope_layer=1 │ lio :: Identifier │ scope_layer=1 │ lprefix :: Identifier │ scope_layer=1 │ "contd returned " :: Value │ macro_source=181 │ result :: Identifier │ scope_layer=1 │ [return] │ │ result :: Identifier │ scope_layer=1 │ [return] │ │ eval_sol_fcn_closure :: Identifier │ scope_layer=1 │ [call] │ │ Base.Docs.doc! :: Value │ macro_source=181 │ ODEInterface :: Value │ macro_source=181 │ [call] │ │ Base.Docs.Binding :: Value │ macro_source=181 │ ODEInterface :: Value │ │ [inert] │ jl_source=L65 │ create_dopri_eval_sol_fcn_closure :: Identifier │ │ [call] │ macro_source=181 │ Base.Docs.docstr :: Value │ macro_source=181 │ [call] │ macro_source=181 │ Core.svec :: Value │ macro_source=181 │ " function create_dopri_eval_sol_fcn_closure( cbi::CI, d::FInt,\n method_contd::Ptr{Cvoid}) where {FInt<:FortranInt,\n CI<:DopriInternalCallInfos}\n\ngenerates a eval_sol_fcn for dopri5 and dop853.\n\nWhy is a closure needed? We need a function `eval_sol_fcn`\nthat calls `CONTD5_` or `CONTD8_` (with `ccall`).\nBut `CONTD?_` needs the informations for the current state. This\ninformations were saved by `unsafe_dopriSoloutCallback` in the\n`DopriInternalCallInfos`. `eval_sol_fcn` needs to get this informations.\nHere comes `create_dopri_eval_sol_fcn_closure` into play: this function\ntakes the call-informations and generates a `eval_sol_fcn` with this data.\n\nWhy doesn't `unsafe_dopriSoloutCallback` generate a closure (then\nthe current state needs not to be saved in `DopriInternalCallInfos`)?\nBecause then every call to `unsafe_dopriSoloutCallback` would have\ngenerated a closure function. That's a lot of overhead: 1 closure function\nfor every solout call. With the strategy above, we have 1 closure function\nper ODE-solver-call, i.e. 1 closure function per ODE.\n\nFor the typical calling sequence, see `DopriInternalCallInfos`.\n" :: Value │ macro_source=181 │ [call] │ macro_source=181 │ Dict{Symbol, Any} :: Value │ macro_source=181 │ :path => "/home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl" :: Value │ macro_source=181 │ :linenumber => 83 :: Value │ macro_source=181 │ :module => ODEInterface :: Value │ macro_source=181 │ [where] │ │ [where] │ │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ Cvoid :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ DopriInternalCallInfos :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ FortranInt :: Identifier │ scope_layer=1 │ val :: Identifier │ scope_layer=3 │ │ file = "/home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl" │ line = 83 └ mod = ODEInterface ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:124 =# - Found unexpected binding of kind static_parameter Expression:  #₃₉/FInt Containing expressions:  (static_eval (call core.svec (call core.apply_type #₃₃/Ptr #₃₉/FInt) (call core.apply_type #₃₃/Ptr #₄₂/Float64) (call core.apply_type #₃₃/Ptr #₄₂/Float64) (call core.apply_type #₃₃/Ptr #₃₉/FInt) (call core.apply_type #₃₃/Ptr #₃₉/FInt)))  Detailed provenance:  #₃₉/FInt  └─ FInt  └─ FInt  ├─ @ /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:124  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83 =#) " function create_dopri_eval_sol_fcn_closure( cbi::CI, d::FInt,\n method_contd::Ptr{Cvoid}) where {FInt<:FortranInt,\n CI<:DopriInternalCallInfos}\n\ngenerates a eval_sol_fcn for dopri5 and dop853.\n\nWhy is a closure needed? We need a function `eval_sol_fcn`\nthat calls `CONTD5_` or `CONTD8_` (with `ccall`).\nBut `CONTD?_` needs the informations for the current state. This\ninformations were saved by `unsafe_dopriSoloutCallback` in the\n`DopriInternalCallInfos`. `eval_sol_fcn` needs to get this informations.\nHere comes `create_dopri_eval_sol_fcn_closure` into play: this function\ntakes the call-informations and generates a `eval_sol_fcn` with this data.\n\nWhy doesn't `unsafe_dopriSoloutCallback` generate a closure (then\nthe current state needs not to be saved in `DopriInternalCallInfos`)?\nBecause then every call to `unsafe_dopriSoloutCallback` would have\ngenerated a closure function. That's a lot of overhead: 1 closure function\nfor every solout call. With the strategy above, we have 1 closure function\nper ODE-solver-call, i.e. 1 closure function per ODE.\n\nFor the typical calling sequence, see `DopriInternalCallInfos`.\n" (function (where (call create_dopri_eval_sol_fcn_closure (:: cbi CI) (:: d FInt) (:: method_contd (curly Ptr Cvoid))) (<: FInt FortranInt) (<: CI DopriInternalCallInfos)) (block (function (call eval_sol_fcn_closure (:: s Float64)) (block (= (tuple lio l lprefix) (tuple (. cbi (inert logio)) (. cbi (inert loglevel)) (. cbi (inert eval_lprefix)))) (= l_eval (call > (call & l LOG_EVALSOL) 0)) (&& l_eval (call println lio lprefix "called with s=" s)) (= (ref (. cbi (inert cont_s)) 1) s) (= result (call (curly Vector Float64) undef d)) (if (call == s (. cbi (inert tNew))) (block (= (ref result :) (. cbi (inert xNew))) (&& l_eval (call println lio lprefix "not calling contd because s==tNew"))) (block (for (= k (call : 1 d)) (block (= (ref (. cbi (inert cont_i)) 1) k) (= (ref result k) (call ccall method_contd Float64 (tuple (curly Ptr FInt) (curly Ptr Float64) (curly Ptr Float64) (curly Ptr FInt) (curly Ptr FInt)) (. cbi (inert cont_i)) (. cbi (inert cont_s)) (. cbi (inert cont_con)) (. cbi (inert cont_icomp)) (. cbi (inert cont_nd)))))))) (&& l_eval (call println lio lprefix "contd returned " result)) (return result))) (return eval_sol_fcn_closure))))  └─ @ /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83  Stacktrace:  [1] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1067  [2] #_renumber##2  @ /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1090 [inlined]  [3] mapchildren(f::Base.JuliaLowering.var"#_renumber##2#_renumber##3"{Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, Dict{Int64, Int64}, Dict{Int64, Int64}, Dict{Int64, Int64}}, ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaSyntax /source/usr/share/julia/JuliaSyntax/src/porcelain/syntax_graph.jl:707  [4] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1089  [5] #_renumber##2  @ /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1090 [inlined]  [6] mapchildren(f::Base.JuliaLowering.var"#_renumber##2#_renumber##3"{Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, Dict{Int64, Int64}, Dict{Int64, Int64}, Dict{Int64, Int64}}, ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaSyntax /source/usr/share/julia/JuliaSyntax/src/porcelain/syntax_graph.jl:707  [7] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1089  [8] #_renumber##0  @ /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1080 [inlined]  [9] mapchildren(f::Base.JuliaLowering.var"#_renumber##0#_renumber##1"{Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, Dict{Int64, Int64}, Dict{Int64, Int64}, Dict{Int64, Int64}}, ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaSyntax /source/usr/share/julia/JuliaSyntax/src/porcelain/syntax_graph.jl:707  [10] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1079  [11] #_renumber##2  @ /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1090 [inlined]  [12] mapchildren(f::Base.JuliaLowering.var"#_renumber##2#_renumber##3"{Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, Dict{Int64, Int64}, Dict{Int64, Int64}, Dict{Int64, Int64}}, ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaSyntax /source/usr/share/julia/JuliaSyntax/src/porcelain/syntax_graph.jl:707  [13] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1089  [14] renumber_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, input_code::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, slot_rewrites::Dict{Int64, Int64})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1132  [15] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1223  [16] compile(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, needs_value::Bool, in_tail_pos::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:851  [17] compile(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, needs_value::Bool, in_tail_pos::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:712  [18] compile_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1007  [19] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1163  [20] linearize_ir(ctx::Base.JuliaLowering.ClosureConversionCtx{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1253  [21] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:33  [22] include(mapexpr::Function, mod::Module, _path::String)  @ Base ./Base.jl:327  [23] top-level scope  @ ~/.julia/packages/ODEInterface/RwRLn/src/ODEInterface.jl:577  [24] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [25] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base ./loading.jl:3271  [26] top-level scope  @ stdin:5  [27] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [28] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [29] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [30] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [31] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83 in expression starting at /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/ODEInterface.jl:1 in expression starting at stdin:5 ✗ ODEInterface 3 dependencies successfully precompiled in 15 seconds. 8 already precompiled. Precompilation completed after 33.58s ################################################################################ # Loading # Loading ODEInterface... ┌ Info: JuliaLowering threw given input: │ code = │ :(#= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83 =# Core.@doc " function create_dopri_eval_sol_fcn_closure( cbi::CI, d::FInt,\n method_contd::Ptr{Cvoid}) where {FInt<:FortranInt,\n CI<:DopriInternalCallInfos}\n\ngenerates a eval_sol_fcn for dopri5 and dop853.\n\nWhy is a closure needed? We need a function `eval_sol_fcn`\nthat calls `CONTD5_` or `CONTD8_` (with `ccall`).\nBut `CONTD?_` needs the informations for the current state. This\ninformations were saved by `unsafe_dopriSoloutCallback` in the\n`DopriInternalCallInfos`. `eval_sol_fcn` needs to get this informations.\nHere comes `create_dopri_eval_sol_fcn_closure` into play: this function\ntakes the call-informations and generates a `eval_sol_fcn` with this data.\n\nWhy doesn't `unsafe_dopriSoloutCallback` generate a closure (then\nthe current state needs not to be saved in `DopriInternalCallInfos`)?\nBecause then every call to `unsafe_dopriSoloutCallback` would have\ngenerated a closure function. That's a lot of overhead: 1 closure function\nfor every solout call. With the strategy above, we have 1 closure function\nper ODE-solver-call, i.e. 1 closure function per ODE.\n\nFor the typical calling sequence, see `DopriInternalCallInfos`.\n" function create_dopri_eval_sol_fcn_closure(cbi::CI, d::FInt, method_contd::Ptr{Cvoid}) where {FInt <: FortranInt, CI <: DopriInternalCallInfos} │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:107 =# │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:111 =# │ function eval_sol_fcn_closure(s::Float64) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:111 =# │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:112 =# │ (lio, l, lprefix) = (cbi.logio, cbi.loglevel, cbi.eval_lprefix) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:113 =# │ l_eval = l & LOG_EVALSOL > 0 │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:115 =# │ l_eval && println(lio, lprefix, "called with s=", s) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:116 =# │ cbi.cont_s[1] = s │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:117 =# │ result = Vector{Float64}(undef, d) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:118 =# │ if s == cbi.tNew │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:119 =# │ result[:] = cbi.xNew │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:120 =# │ l_eval && println(lio, lprefix, "not calling contd because s==tNew") │ else │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:122 =# │ for k = 1:d │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:123 =# │ cbi.cont_i[1] = k │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:124 =# │ result[k] = ccall(method_contd, Float64, (Ptr{FInt}, Ptr{Float64}, Ptr{Float64}, Ptr{FInt}, Ptr{FInt}), cbi.cont_i, cbi.cont_s, cbi.cont_con, cbi.cont_icomp, cbi.cont_nd) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:127 =# │ end │ end │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:130 =# │ l_eval && println(lio, lprefix, "contd returned ", result) │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:131 =# │ return result │ end │ #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:133 =# │ return eval_sol_fcn_closure │ end) │ st0 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__ │ [macrocall] │ │ @doc :: Identifier │ mod │ :(#= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83 =#) :: Value │ │ " function create_dopri_eval_sol_fcn_closure( cbi::CI, d::FInt,\n method_contd::Ptr{Cvoid}) where {FInt<:FortranInt,\n CI<:DopriInternalCallInfos}\n\ngenerates a eval_sol_fcn for dopri5 and dop853.\n\nWhy is a closure needed? We need a function `eval_sol_fcn`\nthat calls `CONTD5_` or `CONTD8_` (with `ccall`).\nBut `CONTD?_` needs the informations for the current state. This\ninformations were saved by `unsafe_dopriSoloutCallback` in the\n`DopriInternalCallInfos`. `eval_sol_fcn` needs to get this informations.\nHere comes `create_dopri_eval_sol_fcn_closure` into play: this function\ntakes the call-informations and generates a `eval_sol_fcn` with this data.\n\nWhy doesn't `unsafe_dopriSoloutCallback` generate a closure (then\nthe current state needs not to be saved in `DopriInternalCallInfos`)?\nBecause then every call to `unsafe_dopriSoloutCallback` would have\ngenerated a closure function. That's a lot of overhead: 1 closure function\nfor every solout call. With the strategy above, we have 1 closure function\nper ODE-solver-call, i.e. 1 closure function per ODE.\n\nFor the typical calling sequence, see `DopriInternalCallInfos`.\n" :: Value │ │ [function] │ │ [where] │ │ [call] │ │ create_dopri_eval_sol_fcn_closure :: Identifier │ │ [::] │ │ cbi :: Identifier │ │ CI :: Identifier │ │ [::] │ │ d :: Identifier │ │ FInt :: Identifier │ │ [::] │ │ method_contd :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ Cvoid :: Identifier │ │ [<:] │ │ FInt :: Identifier │ │ FortranInt :: Identifier │ │ [<:] │ │ CI :: Identifier │ │ DopriInternalCallInfos :: Identifier │ │ [block] │ │ [function] │ │ [call] │ │ eval_sol_fcn_closure :: Identifier │ │ [::] │ │ s :: Identifier │ │ Float64 :: Identifier │ │ [block] │ │ [=] │ │ [tuple] │ │ lio :: Identifier │ │ l :: Identifier │ │ lprefix :: Identifier │ │ [tuple] │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ logio :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ loglevel :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ eval_lprefix :: Identifier │ │ [=] │ │ l_eval :: Identifier │ │ [call] │ │ > :: Identifier │ │ [call] │ │ & :: Identifier │ │ l :: Identifier │ │ LOG_EVALSOL :: Identifier │ │ 0 :: Value │ │ [&&] │ │ l_eval :: Identifier │ │ [call] │ │ println :: Identifier │ │ lio :: Identifier │ │ lprefix :: Identifier │ │ "called with s=" :: Value │ │ s :: Identifier │ │ [=] │ │ [ref] │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_s :: Identifier │ │ 1 :: Value │ │ s :: Identifier │ │ [=] │ │ result :: Identifier │ │ [call] │ │ [curly] │ │ Vector :: Identifier │ │ Float64 :: Identifier │ │ undef :: Identifier │ │ d :: Identifier │ │ [if] │ │ [call] │ │ == :: Identifier │ │ s :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ tNew :: Identifier │ │ [block] │ │ [=] │ │ [ref] │ │ result :: Identifier │ │ : :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ xNew :: Identifier │ │ [&&] │ │ l_eval :: Identifier │ │ [call] │ │ println :: Identifier │ │ lio :: Identifier │ │ lprefix :: Identifier │ │ "not calling contd because s==tNew" :: Value │ │ [block] │ │ [for] │ │ [=] │ │ k :: Identifier │ │ [call] │ │ : :: Identifier │ │ 1 :: Value │ │ d :: Identifier │ │ [block] │ │ [=] │ │ [ref] │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_i :: Identifier │ │ 1 :: Value │ │ k :: Identifier │ │ [=] │ │ [ref] │ │ result :: Identifier │ │ k :: Identifier │ │ [call] │ │ ccall :: Identifier │ │ method_contd :: Identifier │ │ Float64 :: Identifier │ │ [tuple] │ │ [curly] │ │ Ptr :: Identifier │ │ FInt :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ Float64 :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ Float64 :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ FInt :: Identifier │ │ [curly] │ │ Ptr :: Identifier │ │ FInt :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_i :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_s :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_con :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_icomp :: Identifier │ │ [.] │ │ cbi :: Identifier │ │ [inert] │ │ cont_nd :: Identifier │ │ [&&] │ │ l_eval :: Identifier │ │ [call] │ │ println :: Identifier │ │ lio :: Identifier │ │ lprefix :: Identifier │ │ "contd returned " :: Value │ │ result :: Identifier │ │ [return] │ │ result :: Identifier │ │ [return] │ │ eval_sol_fcn_closure :: Identifier │ │ │ st1 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source │ [block] │ │ [=] │ │ val :: Identifier │ scope_layer=3 │ [function] │ │ [where] │ │ [call] │ │ create_dopri_eval_sol_fcn_closure :: Identifier │ scope_layer=1 │ [::] │ │ cbi :: Identifier │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ [::] │ │ d :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [::] │ │ method_contd :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ Cvoid :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ FortranInt :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ DopriInternalCallInfos :: Identifier │ scope_layer=1 │ [block] │ │ [function] │ │ [call] │ │ eval_sol_fcn_closure :: Identifier │ scope_layer=1 │ [::] │ │ s :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [tuple] │ │ lio :: Identifier │ scope_layer=1 │ l :: Identifier │ scope_layer=1 │ lprefix :: Identifier │ scope_layer=1 │ [tuple] │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ logio :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ loglevel :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ eval_lprefix :: Identifier │ │ [=] │ │ l_eval :: Identifier │ scope_layer=1 │ [call] │ │ > :: Identifier │ scope_layer=1 │ [call] │ │ & :: Identifier │ scope_layer=1 │ l :: Identifier │ scope_layer=1 │ LOG_EVALSOL :: Identifier │ scope_layer=1 │ 0 :: Value │ macro_source=181 │ [&&] │ │ l_eval :: Identifier │ scope_layer=1 │ [call] │ │ println :: Identifier │ scope_layer=1 │ lio :: Identifier │ scope_layer=1 │ lprefix :: Identifier │ scope_layer=1 │ "called with s=" :: Value │ macro_source=181 │ s :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_s :: Identifier │ │ 1 :: Value │ macro_source=181 │ s :: Identifier │ scope_layer=1 │ [=] │ │ result :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ undef :: Identifier │ scope_layer=1 │ d :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ == :: Identifier │ scope_layer=1 │ s :: Identifier │ scope_layer=1 │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ tNew :: Identifier │ │ [block] │ │ [=] │ │ [ref] │ │ result :: Identifier │ scope_layer=1 │ : :: Identifier │ scope_layer=1 │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ xNew :: Identifier │ │ [&&] │ │ l_eval :: Identifier │ scope_layer=1 │ [call] │ │ println :: Identifier │ scope_layer=1 │ lio :: Identifier │ scope_layer=1 │ lprefix :: Identifier │ scope_layer=1 │ "not calling contd because s==tNew" :: Value │ macro_source=181 │ [block] │ │ [for] │ │ [=] │ │ k :: Identifier │ scope_layer=1 │ [call] │ │ : :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=181 │ d :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [ref] │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_i :: Identifier │ │ 1 :: Value │ macro_source=181 │ k :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ result :: Identifier │ scope_layer=1 │ k :: Identifier │ scope_layer=1 │ [call] │ │ ccall :: Identifier │ scope_layer=1 │ method_contd :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ [tuple] │ │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_i :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_s :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_con :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_icomp :: Identifier │ │ [.] │ │ cbi :: Identifier │ scope_layer=1 │ [inert] │ │ cont_nd :: Identifier │ │ [&&] │ │ l_eval :: Identifier │ scope_layer=1 │ [call] │ │ println :: Identifier │ scope_layer=1 │ lio :: Identifier │ scope_layer=1 │ lprefix :: Identifier │ scope_layer=1 │ "contd returned " :: Value │ macro_source=181 │ result :: Identifier │ scope_layer=1 │ [return] │ │ result :: Identifier │ scope_layer=1 │ [return] │ │ eval_sol_fcn_closure :: Identifier │ scope_layer=1 │ [call] │ │ Base.Docs.doc! :: Value │ macro_source=181 │ ODEInterface :: Value │ macro_source=181 │ [call] │ │ Base.Docs.Binding :: Value │ macro_source=181 │ ODEInterface :: Value │ │ [inert] │ jl_source=L65 │ create_dopri_eval_sol_fcn_closure :: Identifier │ │ [call] │ macro_source=181 │ Base.Docs.docstr :: Value │ macro_source=181 │ [call] │ macro_source=181 │ Core.svec :: Value │ macro_source=181 │ " function create_dopri_eval_sol_fcn_closure( cbi::CI, d::FInt,\n method_contd::Ptr{Cvoid}) where {FInt<:FortranInt,\n CI<:DopriInternalCallInfos}\n\ngenerates a eval_sol_fcn for dopri5 and dop853.\n\nWhy is a closure needed? We need a function `eval_sol_fcn`\nthat calls `CONTD5_` or `CONTD8_` (with `ccall`).\nBut `CONTD?_` needs the informations for the current state. This\ninformations were saved by `unsafe_dopriSoloutCallback` in the\n`DopriInternalCallInfos`. `eval_sol_fcn` needs to get this informations.\nHere comes `create_dopri_eval_sol_fcn_closure` into play: this function\ntakes the call-informations and generates a `eval_sol_fcn` with this data.\n\nWhy doesn't `unsafe_dopriSoloutCallback` generate a closure (then\nthe current state needs not to be saved in `DopriInternalCallInfos`)?\nBecause then every call to `unsafe_dopriSoloutCallback` would have\ngenerated a closure function. That's a lot of overhead: 1 closure function\nfor every solout call. With the strategy above, we have 1 closure function\nper ODE-solver-call, i.e. 1 closure function per ODE.\n\nFor the typical calling sequence, see `DopriInternalCallInfos`.\n" :: Value │ macro_source=181 │ [call] │ macro_source=181 │ Dict{Symbol, Any} :: Value │ macro_source=181 │ :path => "/home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl" :: Value │ macro_source=181 │ :linenumber => 83 :: Value │ macro_source=181 │ :module => ODEInterface :: Value │ macro_source=181 │ [where] │ │ [where] │ │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [curly] │ │ Ptr :: Identifier │ scope_layer=1 │ Cvoid :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ CI :: Identifier │ scope_layer=1 │ DopriInternalCallInfos :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ FInt :: Identifier │ scope_layer=1 │ FortranInt :: Identifier │ scope_layer=1 │ val :: Identifier │ scope_layer=3 │ │ file = "/home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl" │ line = 83 └ mod = ODEInterface ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:124 =# - Found unexpected binding of kind static_parameter Expression:  #₃₉/FInt Containing expressions:  (static_eval (call core.svec (call core.apply_type #₃₃/Ptr #₃₉/FInt) (call core.apply_type #₃₃/Ptr #₄₂/Float64) (call core.apply_type #₃₃/Ptr #₄₂/Float64) (call core.apply_type #₃₃/Ptr #₃₉/FInt) (call core.apply_type #₃₃/Ptr #₃₉/FInt)))  Detailed provenance:  #₃₉/FInt  └─ FInt  └─ FInt  ├─ @ /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:124  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83 =#) " function create_dopri_eval_sol_fcn_closure( cbi::CI, d::FInt,\n method_contd::Ptr{Cvoid}) where {FInt<:FortranInt,\n CI<:DopriInternalCallInfos}\n\ngenerates a eval_sol_fcn for dopri5 and dop853.\n\nWhy is a closure needed? We need a function `eval_sol_fcn`\nthat calls `CONTD5_` or `CONTD8_` (with `ccall`).\nBut `CONTD?_` needs the informations for the current state. This\ninformations were saved by `unsafe_dopriSoloutCallback` in the\n`DopriInternalCallInfos`. `eval_sol_fcn` needs to get this informations.\nHere comes `create_dopri_eval_sol_fcn_closure` into play: this function\ntakes the call-informations and generates a `eval_sol_fcn` with this data.\n\nWhy doesn't `unsafe_dopriSoloutCallback` generate a closure (then\nthe current state needs not to be saved in `DopriInternalCallInfos`)?\nBecause then every call to `unsafe_dopriSoloutCallback` would have\ngenerated a closure function. That's a lot of overhead: 1 closure function\nfor every solout call. With the strategy above, we have 1 closure function\nper ODE-solver-call, i.e. 1 closure function per ODE.\n\nFor the typical calling sequence, see `DopriInternalCallInfos`.\n" (function (where (call create_dopri_eval_sol_fcn_closure (:: cbi CI) (:: d FInt) (:: method_contd (curly Ptr Cvoid))) (<: FInt FortranInt) (<: CI DopriInternalCallInfos)) (block (function (call eval_sol_fcn_closure (:: s Float64)) (block (= (tuple lio l lprefix) (tuple (. cbi (inert logio)) (. cbi (inert loglevel)) (. cbi (inert eval_lprefix)))) (= l_eval (call > (call & l LOG_EVALSOL) 0)) (&& l_eval (call println lio lprefix "called with s=" s)) (= (ref (. cbi (inert cont_s)) 1) s) (= result (call (curly Vector Float64) undef d)) (if (call == s (. cbi (inert tNew))) (block (= (ref result :) (. cbi (inert xNew))) (&& l_eval (call println lio lprefix "not calling contd because s==tNew"))) (block (for (= k (call : 1 d)) (block (= (ref (. cbi (inert cont_i)) 1) k) (= (ref result k) (call ccall method_contd Float64 (tuple (curly Ptr FInt) (curly Ptr Float64) (curly Ptr Float64) (curly Ptr FInt) (curly Ptr FInt)) (. cbi (inert cont_i)) (. cbi (inert cont_s)) (. cbi (inert cont_con)) (. cbi (inert cont_icomp)) (. cbi (inert cont_nd)))))))) (&& l_eval (call println lio lprefix "contd returned " result)) (return result))) (return eval_sol_fcn_closure))))  └─ @ /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83  Stacktrace:  [1] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1067  [2] #_renumber##2  @ /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1090 [inlined]  [3] mapchildren(f::Base.JuliaLowering.var"#_renumber##2#_renumber##3"{Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, Dict{Int64, Int64}, Dict{Int64, Int64}, Dict{Int64, Int64}}, ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaSyntax /source/usr/share/julia/JuliaSyntax/src/porcelain/syntax_graph.jl:707  [4] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1089  [5] #_renumber##2  @ /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1090 [inlined]  [6] mapchildren(f::Base.JuliaLowering.var"#_renumber##2#_renumber##3"{Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, Dict{Int64, Int64}, Dict{Int64, Int64}, Dict{Int64, Int64}}, ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaSyntax /source/usr/share/julia/JuliaSyntax/src/porcelain/syntax_graph.jl:707  [7] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1089  [8] #_renumber##0  @ /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1080 [inlined]  [9] mapchildren(f::Base.JuliaLowering.var"#_renumber##0#_renumber##1"{Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, Dict{Int64, Int64}, Dict{Int64, Int64}, Dict{Int64, Int64}}, ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaSyntax /source/usr/share/julia/JuliaSyntax/src/porcelain/syntax_graph.jl:707  [10] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1079  [11] #_renumber##2  @ /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1090 [inlined]  [12] mapchildren(f::Base.JuliaLowering.var"#_renumber##2#_renumber##3"{Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, Dict{Int64, Int64}, Dict{Int64, Int64}, Dict{Int64, Int64}}, ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaSyntax /source/usr/share/julia/JuliaSyntax/src/porcelain/syntax_graph.jl:707  [13] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1089  [14] renumber_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, input_code::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, slot_rewrites::Dict{Int64, Int64})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1132  [15] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1223  [16] compile(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, needs_value::Bool, in_tail_pos::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:851  [17] compile(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}, needs_value::Bool, in_tail_pos::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:712  [18] compile_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1007  [19] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1163  [20] linearize_ir(ctx::Base.JuliaLowering.ClosureConversionCtx{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1253  [21] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:33  [22] include(mapexpr::Function, mod::Module, _path::String)  @ Base ./Base.jl:327  [23] top-level scope  @ ~/.julia/packages/ODEInterface/RwRLn/src/ODEInterface.jl:577  [24] include(mod::Module, _path::String)  @ Base ./Base.jl:326  [25] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base ./loading.jl:3271  [26] top-level scope  @ stdin:5  [27] eval(m::Module, e::Any)  @ Core ./boot.jl:517  [28] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base ./loading.jl:3113  [29] push!(a::Vector{SubString{String}}, item::String)  @ Base ./loading.jl:3123 [inlined]  [30] exec_options(opts::Base.JLOptions)  @ Base ./client.jl:353  [31] _start()  @ Base ./client.jl:596 in expression starting at /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/Dopri.jl:83 in expression starting at /home/pkgeval/.julia/packages/ODEInterface/RwRLn/src/ODEInterface.jl:1 in expression starting at stdin:5 1 dependency had output during precompilation: ┌ ODEInterface │ [Output was shown above] └ ERROR: The following 1 package failed to precompile: ODEInterface Failed to precompile ODEInterface [54ca160b-1b9f-5127-a996-1867f4bc2a2c] to "/home/pkgeval/.julia/compiled/v1.14/ODEInterface/jl_4AH3oa" (ProcessExited(1)). Loading failed after 14.71s ERROR: LoadError: failed process: Process(`/opt/julia/bin/julia -C native -J/opt/julia/lib/julia/sys.so -g1 --check-bounds=yes --inline=yes --check-bounds=yes --pkgimages=existing -e 'using ODEInterface'`, ProcessExited(1)) [1] Stacktrace: [1] spawn_opts_inherit() @ Base ./process.jl:612 [inlined] [2] run(::Cmd; wait::Bool) @ Base ./process.jl:525 [3] run(::Cmd) @ Base ./process.jl:522 [4] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:197 [5] include(mod::Module, _path::String) @ Base ./Base.jl:326 [6] exec_options(opts::Base.JLOptions) @ Base ./client.jl:355 [7] _start() @ Base ./client.jl:596 in expression starting at /PkgEval.jl/scripts/evaluate.jl:188 PkgEval failed after 77.5s: package fails to precompile