SOLVED: Cannot Precompile OrdinaryDiffEq. Do others have problems with SciML/MTK packages at the moment?

SOLVED: not sure what the problem was. But setting the environment back up from scratch, after deleting all the precompile cache helped. I guess I had a few bad bits cached.


I just did an update of my Julia packages and all hell broke loose in the packages surrounding MTK.

I then set a new environment up and tried there and it seems to be centred around CellMLToolKit, or rather OrdinaryDiffEq

I’m starting from (just set this up at about 13:00UST):

Status `~/.julia/environments/v1.8/Project.toml`
  [6e4b80f9] BenchmarkTools v1.3.1
  [0c46a032] DifferentialEquations v7.3.0
  [2b0e0bc5] LanguageServer v4.3.1
  [961ee093] ModelingToolkit v8.21.0
  [91a5bcdd] Plots v1.31.7
  [295af30f] Revise v3.4.0

Then I add the next package I’ll need, which fails when installing a dependency:

@v1.8) pkg> add CellMLToolkit
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
   Installed OrdinaryDiffEq ─ v6.26.1
    Updating `~/.julia/environments/v1.8/Project.toml`
  [03cb29e0] + CellMLToolkit v2.7.1
    Updating `~/.julia/environments/v1.8/Manifest.toml`
βŒ… [1520ce14] ↓ AbstractTrees v0.4.2 β‡’ v0.3.4
  [03cb29e0] + CellMLToolkit v2.7.1
  [8f5d6c58] + EzXML v1.1.0
  [abcecc63] + MathML v0.1.11
  [c03570c3] + Memoize v0.4.4
  [1dea7af3] ↑ OrdinaryDiffEq v6.26.0 β‡’ v6.26.1
        Info Packages marked with βŒ… have new versions available but cannot be upgraded. To see why use `status --outdated -m`
Precompiling project...
  Progress [====>                                    ]  1/10
  βœ“ AbstractTrees
  β—’ OrdinaryDiffEq
  β—’ SymbolicUtils

signal (15): Terminated
in expression starting at none:0
epoll_wait at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
uv__io_poll at /workspace/srcdir/libuv/src/unix/epoll.c:240
uv_run at /workspace/srcdir/libuv/src/unix/core.c:383
ijl_task_get_next at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/partr.c:563
poptask at ./task.jl:921
wait at ./task.jl:930
wait at ./condition.jl:124
_trywait at ./asyncevent.jl:138
wait at ./asyncevent.jl:155 [inlined]
macro expansion at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:1252 [inlined]
#236 at ./task.jl:484
unknown function (ip: 0x7fa357bb37cf)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:1838 [inlined]
start_task at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/task.c:931
unknown function (ip: (nil))
Allocations: 164612720 (Pool: 164562307; Big: 50413); GC: 51

So it seems that OrdinaryDiffEq is the culprit. Or at least as far as I can pinpoint so far.

So, let’s remove CellMLToolkit:

(@v1.8) pkg> remove CellMLToolkit
    Updating `~/.julia/environments/v1.8/Project.toml`
  [03cb29e0] - CellMLToolkit v2.7.1
    Updating `~/.julia/environments/v1.8/Manifest.toml`
  [03cb29e0] - CellMLToolkit v2.7.1
  [8f5d6c58] - EzXML v1.1.0
  [abcecc63] - MathML v0.1.11
  [c03570c3] - Memoize v0.4.4

and add OrdinaryDiffEq:

(@v1.8) pkg> add OrdinaryDiffEq
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
    Updating `~/.julia/environments/v1.8/Project.toml`
  [1dea7af3] + OrdinaryDiffEq v6.26.1
  No Changes to `~/.julia/environments/v1.8/Manifest.toml`
Precompiling project...
  βœ— OrdinaryDiffEq
  0 dependencies successfully precompiled in 11 seconds. 294 already precompiled.
  1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package

Looking at the full error:

(@v1.8) pkg> precompile
Precompiling project...
  βœ— OrdinaryDiffEq
  0 dependencies successfully precompiled in 11 seconds. 294 already precompiled.

ERROR: The following 1 direct dependency failed to precompile:

OrdinaryDiffEq [1dea7af3-3e70-54e6-95c3-0bf5283fa5ed]

Failed to precompile OrdinaryDiffEq [1dea7af3-3e70-54e6-95c3-0bf5283fa5ed] to /home/thor/.julia/compiled/v1.8/OrdinaryDiffEq/jl_p3w2Zw.

signal (15): Terminated
in expression starting at /home/thor/.julia/packages/OrdinaryDiffEq/PkKBR/src/OrdinaryDiffEq.jl:41
jl_svecref at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:958 [inlined]
has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:113
has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:105
has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:91
has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:98
has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:98
has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:98
has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:98
has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:98
has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:105 [inlined]
ijl_has_free_typevars at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jltypes.c:123
intersect at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/subtype.c:3065
intersect_tuple at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/subtype.c:2776 [inlined]
intersect at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/subtype.c:3129
intersect_all at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/subtype.c:3201
jl_type_intersection_env_s at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/subtype.c:3422
jl_typemap_intersection_node_visitor at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/typemap.c:459
jl_typemap_intersection_visitor at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/typemap.c:621
jl_typemap_intersection_visitor at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/typemap.c:547
get_intersect_matches at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:1300 [inlined]
ijl_method_table_insert at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:1710
jl_insert_methods at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/dump.c:2209 [inlined]
_jl_restore_incremental at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/dump.c:3105
ijl_restore_incremental at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/dump.c:3169
_include_from_serialized at ./loading.jl:807
_tryrequire_from_serialized at ./loading.jl:938
_require_search_from_serialized at ./loading.jl:1028
_require at ./loading.jl:1315
_require_prelocked at ./loading.jl:1200
macro expansion at ./loading.jl:1180 [inlined]
macro expansion at ./lock.jl:223 [inlined]
require at ./loading.jl:1144
jfptr_require_61666.clone_1 at /opt/julia-1.8.0/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:1838 [inlined]
call_require at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:462 [inlined]
eval_import_path at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:499
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:778
jl_eval_module_expr at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:203 [inlined]
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:709
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:850
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:850
ijl_toplevel_eval_in at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:965
eval at ./boot.jl:368 [inlined]
include_string at ./loading.jl:1428
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
_include at ./loading.jl:1488
include at ./Base.jl:419 [inlined]
include_package_for_output at ./loading.jl:1554
jfptr_include_package_for_output_37424.clone_1 at /opt/julia-1.8.0/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:1838 [inlined]
do_call at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:126
eval_value at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:215
eval_stmt_value at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:166 [inlined]
eval_body at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:612
jl_interpret_toplevel_thunk at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:750
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:906
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:850
ijl_toplevel_eval_in at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:965
eval at ./boot.jl:368 [inlined]
include_string at ./loading.jl:1428
include_string at ./loading.jl:1438
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
exec_options at ./client.jl:301
_start at ./client.jl:522
jfptr__start_30463.clone_1 at /opt/julia-1.8.0/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:1838 [inlined]
true_main at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jlapi.c:575
jl_repl_entrypoint at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jlapi.c:719
main at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/cli/loader_exe.c:59
unknown function (ip: 0x7f10b339ed8f)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x401098)
unknown function (ip: (nil))
Allocations: 12321515 (Pool: 12318791; Big: 2724); GC: 9

This is on Ubuntu 22.04 LTS (Pop!_OS), Julia 1.8.0

In the end it seems to boil down to a libc6 issue. Could it be a conflict between the system libc (which hasn’t changed, so would be unlikely) and the one Julia comes with (which I have also installed fresh, just to be save)? Or is there a problem in the package?

1 Like