SciML / DiffEqDocs.jl

Documentation for the DiffEq differential equations and scientific machine learning (SciML) ecosystem
https://docs.sciml.ai/DiffEqDocs/stable/
Other
274 stars 242 forks source link

Consistent segmentation fault when order of `p` and `tspan` are swapped in `ODEProblem` #740

Closed Datseris closed 2 months ago

Datseris commented 2 months ago

Describe the bug 🐞

Basically, this is a user experience improvement. If the order of tspan and p are swapped when creating an ODEProblem, there are no erros thrown at problem creation. However, there is a segfault when calling solve. This makes realizing the problem extremely hard. Took me a while to figure out that the problem was the incorrect ODEProblem order instead of me doing something very bad in my equations.

The following MWE consistently throws a seg fault for me, even across different package versions. The error is the same (segfault) and occurs both before and after a package update.

Expected behavior

An informative error should be thrown instead in the creation of the ODEProblem.

Minimal Reproducible Example 👇

using OrdinaryDiffEq

function modified_lorenz_rule!(du, u, p, t)
    x, y, z = u; a, b = p
    du[1] = y - x
    du[2] = - x*z + b*abs(z)
    du[3] = x*y - a
    return du
end

p0 = [5.0, 0.1] # parameters
u0 = [-4.0, 5, 0] # state

ode_prob = ODEProblem(modified_lorenz_rule!, u0, p0, (0.0, 40.0))
sol = OrdinaryDiffEq.solve(ode_prob; alg = Tsit5())
sol[end]

Error & Stacktrace ⚠️

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x7fffff048f27 -- gc_setmark_pool_ at C:/workdir/src\gc.c:876 [inlined]
gc_setmark_pool at C:/workdir/src\gc.c:895 [inlined]
gc_setmark at C:/workdir/src\gc.c:902 [inlined]
gc_setmark at C:/workdir/src\gc.c:898 [inlined]
gc_mark_outrefs at C:/workdir/src\gc.c:2606 [inlined]
gc_mark_and_steal at C:/workdir/src\gc.c:2730
in expression starting at c:\Users\datse\.julia\dev\Attractors\docs\src\bfkit_comparison.jl:83
Allocations: 41410773 (Pool: 41365022; Big: 45751); GC: 55

Environment (please complete the following information):

  [2b5f629d] DiffEqBase v6.151.5
  [1dea7af3] OrdinaryDiffEq v6.85.0
  [0bca4576] SciMLBase v2.42.0

Windows 10, Julia 1.10

ChrisRackauckas commented 2 months ago

I cannot recreate this.

in expression starting at c:\Users\datse\.julia\dev\Attractors\docs\src\bfkit_comparison.jl:83

The error you show is not of this code because there is not 83 lines.

Datseris commented 2 months ago

I've just copy pasted the above MWE, and run it. Totally clean script. I get:


Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ff800968f27 -- gc_setmark_pool_ at C:/workdir/src\gc.c:876 [inlined]
gc_setmark_pool at C:/workdir/src\gc.c:895 [inlined]
gc_setmark at C:/workdir/src\gc.c:902 [inlined]
gc_setmark at C:/workdir/src\gc.c:898 [inlined]
gc_mark_outrefs at C:/workdir/src\gc.c:2606 [inlined]
gc_mark_and_steal at C:/workdir/src\gc.c:2730
in expression starting at Untitled-1:15
gc_setmark_pool_ at C:/workdir/src\gc.c:876 [inlined]
gc_setmark_pool at C:/workdir/src\gc.c:895 [inlined]
gc_setmark at C:/workdir/src\gc.c:902 [inlined]
gc_setmark at C:/workdir/src\gc.c:898 [inlined]
gc_mark_outrefs at C:/workdir/src\gc.c:2606 [inlined]
gc_mark_and_steal at C:/workdir/src\gc.c:2730
gc_mark_loop_parallel at C:/workdir/src\gc.c:2881
gc_mark_loop at C:/workdir/src\gc.c:2900 [inlined]
gc_mark_loop at C:/workdir/src\gc.c:2894 [inlined]
_jl_gc_collect at C:/workdir/src\gc.c:3221
ijl_gc_collect at C:/workdir/src\gc.c:3518
maybe_collect at C:/workdir/src\gc.c:937 [inlined]
jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1293 [inlined]
ijl_gc_pool_alloc at C:/workdir/src\gc.c:1341
InferenceResult at .\compiler\types.jl:84 [inlined]
InferenceResult at .\compiler\types.jl:88 [inlined]
typeinf_edge at .\compiler\typeinfer.jl:919
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2885
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2885
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2885
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2083
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_apply at .\compiler\abstractinterpretation.jl:1608
abstract_call_known at .\compiler\abstractinterpretation.jl:2000
abstract_call at .\compiler\abstractinterpretation.jl:2165
abstract_call at .\compiler\abstractinterpretation.jl:2158
abstract_call at .\compiler\abstractinterpretation.jl:2350
abstract_eval_call at .\compiler\abstractinterpretation.jl:2366
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2376
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2620
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2909
typeinf_local at .\compiler\abstractinterpretation.jl:3094
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3182
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_ext at .\compiler\typeinfer.jl:1051
typeinf_ext_toplevel at .\compiler\typeinfer.jl:1082
typeinf_ext_toplevel at .\compiler\typeinfer.jl:1078
jfptr_typeinf_ext_toplevel_39162.1 at C:\Users\datse\.julia\juliaup\julia-1.10.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)
_jl_invoke at C:/workdir/src\gf.c:2894 [inlined]
ijl_apply_generic at C:/workdir/src\gf.c:3076 [inlined]
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
jl_type_infer at C:/workdir/src\gf.c:394
jl_generate_fptr_impl at C:/workdir/src\jitlayers.cpp:502
jl_compile_method_internal at C:/workdir/src\gf.c:2480
jl_compile_method_internal at C:/workdir/src\gf.c:2372 [inlined]
_jl_invoke at C:/workdir/src\gf.c:2886 [inlined]
ijl_apply_generic at C:/workdir/src\gf.c:3076
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
do_call at C:/workdir/src\interpreter.c:126
eval_value at C:/workdir/src\interpreter.c:223
eval_stmt_value at C:/workdir/src\interpreter.c:174 [inlined]
eval_body at C:/workdir/src\interpreter.c:635
jl_interpret_toplevel_thunk at C:/workdir/src\interpreter.c:775
jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:934
jl_toplevel_eval_flex at C:/workdir/src\toplevel.c:877
ijl_toplevel_eval at C:/workdir/src\toplevel.c:943 [inlined]
ijl_toplevel_eval_in at C:/workdir/src\toplevel.c:985
eval at .\boot.jl:385 [inlined]
include_string at .\loading.jl:2070
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
jl_f__call_latest at C:/workdir/src\builtins.c:812
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
do_apply at C:/workdir/src\builtins.c:768
#invokelatest#2 at .\essentials.jl:887
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
do_apply at C:/workdir/src\builtins.c:768
invokelatest at .\essentials.jl:884
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
do_apply at C:/workdir/src\builtins.c:768
#inlineeval#76 at c:\Users\datse\.vscode\extensions\julialang.language-julia-1.83.2\scripts\packages\VSCodeServer\src\eval.jl:271
inlineeval at c:\Users\datse\.vscode\extensions\julialang.language-julia-1.83.2\scripts\packages\VSCodeServer\src\eval.jl:268
#69 at c:\Users\datse\.vscode\extensions\julialang.language-julia-1.83.2\scripts\packages\VSCodeServer\src\eval.jl:181   
withpath at c:\Users\datse\.vscode\extensions\julialang.language-julia-1.83.2\scripts\packages\VSCodeServer\src\repl.jl:276
#68 at c:\Users\datse\.vscode\extensions\julialang.language-julia-1.83.2\scripts\packages\VSCodeServer\src\eval.jl:179   
hideprompt at c:\Users\datse\.vscode\extensions\julialang.language-julia-1.83.2\scripts\packages\VSCodeServer\src\repl.jl:38
#67 at c:\Users\datse\.vscode\extensions\julialang.language-julia-1.83.2\scripts\packages\VSCodeServer\src\eval.jl:150   
unknown function (ip: 0000020d06ffffab)
with_logstate at .\logging.jl:515
with_logger at .\logging.jl:627 [inlined]
#66 at c:\Users\datse\.vscode\extensions\julialang.language-julia-1.83.2\scripts\packages\VSCodeServer\src\eval.jl:263   
unknown function (ip: 0000020d06fffe3b)
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
jl_f__call_latest at C:/workdir/src\builtins.c:812
#invokelatest#2 at .\essentials.jl:887 [inlined]
invokelatest at .\essentials.jl:884
unknown function (ip: 0000020d4d30e80b)
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
do_apply at C:/workdir/src\builtins.c:768
#64 at c:\Users\datse\.vscode\extensions\julialang.language-julia-1.83.2\scripts\packages\VSCodeServer\src\eval.jl:34    
unknown function (ip: 0000020d4d2dcaa4)
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
start_task at C:/workdir/src\task.c:1238
Allocations: 289427305 (Pool: 289037521; Big: 389784); GC: 489
ChrisRackauckas commented 2 months ago

This is Julia v1.10.4? It looks like it's related to the Julia issue that was already fixed.

Datseris commented 2 months ago

You are right, i was on v1.10. I've upgraded to v1.10.4 and the code works. It doesn't even error, it computes and solves regardless of the inverted order of p, tspan.