BoundaryValueDiffEq hanging during precompilation

Occurs when trying to add DifferentialEquations either to the global environment or any local environment. During the precompilation step it ends up hanging on BoundaryValueDiffEq… I’ve tried a few different times for over 20 minutes each, including one overnight (~8 hours).

This is in Julia 1.10.4 on Arch. Most recent attempt was in the global environment. Here’s the result of ]st beforehand:

Status `~/.julia/environments/v1.10/Project.toml`
  [6e4b80f9] BenchmarkTools v1.5.0
  [a93c6f00] DataFrames v1.6.1
  [5789e2e9] FileIO v1.16.3
  [f7f18e0c] GLFW v3.4.2
  [e9467ef8] GLMakie v0.10.4
  [033835bb] JLD2 v0.4.49
  [5fb14364] OhMyREPL v0.5.27
  [14b8a8f1] PkgTemplates v0.7.51
  [295af30f] Revise v3.5.15
⌃ [0656b61e] GLFW_jll v3.3.9+0 ⚲
  [9a3f8284] Random

After ]add DifferentialEquations, and interrupting to maybe show where it’s hanging (note the 1/3 is the result of several dependencies already being compiled from previous attempts):

Resolving package versions...
    Updating `~/.julia/environments/v1.10/Project.toml`
  [0c46a032] + DifferentialEquations v7.13.0
    Updating `~/.julia/environments/v1.10/Manifest.toml`
  [47edcb42] + ADTypes v1.5.3
  [7d9f7c33] + Accessors v0.1.36
  [ec485272] + ArnoldiMethod v0.4.0
  [4fba245c] + ArrayInterface v7.12.0
  [4c555306] + ArrayLayouts v1.10.1
  [aae01518] + BandedMatrices v1.7.2
  [62783981] + BitTwiddlingConvenienceFunctions v0.1.6
  [764a87c0] + BoundaryValueDiffEq v5.9.0
  [2a0fbf3d] + CPUSummary v0.2.6
  [fb6a15b2] + CloseOpenIntervals v0.1.13
  [38540f10] + CommonSolve v0.2.4
  [bbf7d656] + CommonSubexpressions v0.3.0
  [f70d9fcc] + CommonWorldInvalidations v1.0.0
  [a33af91c] + CompositionsBase v0.1.2
  [2569d6c7] + ConcreteStructs v0.2.3
  [adafc99b] + CpuId v0.3.1
  [bcd4f6db] + DelayDiffEq v5.47.3
  [2b5f629d] + DiffEqBase v6.151.5
  [459566f4] + DiffEqCallbacks v3.6.2
  [77a26b50] + DiffEqNoiseProcess v5.21.0
  [163ba53b] + DiffResults v1.1.0
  [b552c78f] + DiffRules v1.15.1
  [0c46a032] + DifferentialEquations v7.13.0
  [a0c0ee7d] + DifferentiationInterface v0.5.7
  [b4f34e82] + Distances v0.10.11
  [f151be2c] + EnzymeCore v0.7.6
  [d4d017d3] + ExponentialUtilities v1.26.1
  [9d29842c] + FastAlmostBandedMatrices v0.1.3
  [7034ab61] + FastBroadcast v0.3.4
  [9aa1b823] + FastClosures v0.3.2
  [29a986be] + FastLapackInterface v2.0.4
  [6a86dc24] + FiniteDiff v2.23.1
  [f6369f11] + ForwardDiff v0.10.36
  [069b7b12] + FunctionWrappers v1.1.3
  [77dc65aa] + FunctionWrappersWrappers v0.1.3
  [d9f16b24] + Functors v0.4.11
  [46192b85] + GPUArraysCore v0.1.6
  [c145ed77] + GenericSchur v0.5.4
  [86223c79] + Graphs v1.11.2
  [3e5b6fbb] + HostCPUFeatures v0.1.17
  [615f187c] + IfElse v0.1.1
  [3587e190] + InverseFunctions v0.1.14
  [ccbc3e58] + JumpProcesses v9.11.1
  [ef3ab10e] + KLU v0.6.0
  [ba0b0d4f] + Krylov v0.9.6
  [10f19ff3] + LayoutPointers v0.1.17
  [5078a376] + LazyArrays v2.1.4
  [2d8b4e74] + LevyArea v1.0.0
  [d3d80556] + LineSearches v7.2.0
  [7ed4a6bd] + LinearSolve v2.30.2
  [bdcacae8] + LoopVectorization v0.12.171
  [d125e4d3] + ManualMemory v0.1.8
  [a3b82374] + MatrixFactorizations v3.0.0
  [bb5d69b7] + MaybeInplace v0.1.3
  [46d2c3a1] + MuladdMacro v0.2.4
  [d41bc354] + NLSolversBase v7.8.3
  [2774e3e8] + NLsolve v4.5.1
  [8913a72c] + NonlinearSolve v3.13.1
  [429524aa] + Optim v1.9.4
  [1dea7af3] + OrdinaryDiffEq v6.85.0
  [65ce6f38] + PackageExtensionCompat v1.0.2
  [e409e4f3] + PoissonRandom v0.4.4
  [f517fe37] + Polyester v0.7.15
  [1d0040c9] + PolyesterWeave v0.2.2
  [85a6dd25] + PositiveFactorizations v0.2.4
  [d236fae5] + PreallocationTools v0.4.22
  [74087812] + Random123 v1.7.0
  [e6cf234a] + RandomNumbers v1.5.3
  [3cdcf5f2] + RecipesBase v1.3.4
  [731186ca] + RecursiveArrayTools v3.26.0
  [f2c3362d] + RecursiveFactorization v0.2.23
  [ae5879a3] + ResettableStacks v1.1.1
  [7e49a35a] + RuntimeGeneratedFunctions v0.5.13
  [94e857df] + SIMDTypes v0.1.0
  [476501e8] + SLEEFPirates v0.6.43
  [0bca4576] + SciMLBase v2.42.0
  [c0aeaf25] + SciMLOperators v0.3.8
  [53ae85a6] + SciMLStructures v1.4.1
  [efcf1570] + Setfield v1.1.1
  [727e6d20] + SimpleNonlinearSolve v1.10.1
  [ce78b400] + SimpleUnPack v1.1.0
  [47a9eef4] + SparseDiffTools v2.19.0
  [0a514795] + SparseMatrixColorings v0.3.3
  [e56a9233] + Sparspak v0.3.9
  [aedffcd0] + Static v1.1.0
  [0d7ed370] + StaticArrayInterface v1.5.1
  [9672c7b4] + SteadyStateDiffEq v2.2.0
  [789caeaf] + StochasticDiffEq v6.66.0
  [7792a7ef] + StrideArraysCore v0.5.7
  [c3572dad] + Sundials v4.24.0
  [2efcf032] + SymbolicIndexingInterface v0.3.26
  [8290d209] + ThreadingUtilities v0.5.2
  [a759f4b9] + TimerOutputs v0.5.24
  [d5829a12] + TriangularSolve v0.2.1
  [410a4b4d] + Tricks v0.1.8
  [781d530d] + TruncatedStacktraces v1.4.0
  [3d5dd08c] + VectorizationBase v0.21.70
  [19fa3120] + VertexSafeGraphs v0.2.0
⌅ [fb77eaff] + Sundials_jll v5.2.2+0
        Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`
Precompiling project...
^C Interrupted: Exiting precompilation...            ]  1/3
  ◐ BoundaryValueDiffEq
  1 dependency had output during precompilation:
┌ BoundaryValueDiffEq
│  [114249] signal (2): Interrupt
│  in expression starting at /home/andrew/.julia/packages/BoundaryValueDiffEq/3BLgh/src/BoundaryValueDiffEq.jl:52
│  macro expansion at /home/andrew/.julia/packages/VectorizationBase/LqJbS/src/llvm_intrin/memory_addr.jl:414 [inlined]
│  _gep at /home/andrew/.julia/packages/VectorizationBase/LqJbS/src/llvm_intrin/memory_addr.jl:414 [inlined]
│  gep at /home/andrew/.julia/packages/VectorizationBase/LqJbS/src/llvm_intrin/memory_addr.jl:436 [inlined]
│  macro expansion at /home/andrew/.julia/packages/VectorizationBase/LqJbS/src/vecunroll/memory.jl:1314 [inlined]
│  _vstore_unroll! at /home/andrew/.julia/packages/VectorizationBase/LqJbS/src/vecunroll/memory.jl:1314 [inlined]
│  _vstore! at /home/andrew/.julia/packages/VectorizationBase/LqJbS/src/vecunroll/memory.jl:1803 [inlined]
│  vstore! at /home/andrew/.julia/packages/VectorizationBase/LqJbS/src/llvm_intrin/memory_addr.jl:2094 [inlined]
│  macro expansion at /home/andrew/.julia/packages/TriangularSolve/rwyRY/src/TriangularSolve.jl:404 [inlined]
│  ldiv_solve_W! at /home/andrew/.julia/packages/TriangularSolve/rwyRY/src/TriangularSolve.jl:357
│  _ldiv_L! at /home/andrew/.julia/packages/TriangularSolve/rwyRY/src/TriangularSolve.jl:1075
│  rdiv_U! at /home/andrew/.julia/packages/TriangularSolve/rwyRY/src/TriangularSolve.jl:1028 [inlined]
│  rdiv_block_N! at /home/andrew/.julia/packages/TriangularSolve/rwyRY/src/TriangularSolve.jl:792
│  rdiv_block_MandN! at /home/andrew/.julia/packages/TriangularSolve/rwyRY/src/TriangularSolve.jl:827
│  div_dispatch! at /home/andrew/.julia/packages/TriangularSolve/rwyRY/src/TriangularSolve.jl:557
│  ldiv! at /home/andrew/.julia/packages/TriangularSolve/rwyRY/src/TriangularSolve.jl:696 [inlined]
│  reckernel! at /home/andrew/.julia/packages/RecursiveFactorization/zhyWn/src/lu.jl:225
│  reckernel! at /home/andrew/.julia/packages/RecursiveFactorization/zhyWn/src/lu.jl:219
│  _recurse! at /home/andrew/.julia/packages/RecursiveFactorization/zhyWn/src/lu.jl:137 [inlined]
│  recurse! at /home/andrew/.julia/packages/RecursiveFactorization/zhyWn/src/lu.jl:126 [inlined]
│  #lu!#7 at /home/andrew/.julia/packages/RecursiveFactorization/zhyWn/src/lu.jl:107
│  lu! at /home/andrew/.julia/packages/RecursiveFactorization/zhyWn/src/lu.jl:91 [inlined]
│  #solve!#25 at /home/andrew/.julia/packages/LinearSolve/TsBGa/src/factorization.jl:1040
│  solve! at /home/andrew/.julia/packages/LinearSolve/TsBGa/src/factorization.jl:1031 [inlined]
│  macro expansion at /home/andrew/.julia/packages/LinearSolve/TsBGa/src/default.jl:363 [inlined]
│  #solve!#95 at /home/andrew/.julia/packages/LinearSolve/TsBGa/src/default.jl:356
│  solve! at /home/andrew/.julia/packages/LinearSolve/TsBGa/src/default.jl:356 [inlined]
│  #solve!#7 at /home/andrew/.julia/packages/LinearSolve/TsBGa/src/common.jl:197 [inlined]
│  solve! at /home/andrew/.julia/packages/LinearSolve/TsBGa/src/common.jl:196 [inlined]
│  #_#122 at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/internal/linear_solve.jl:152
│  LinearSolverCache at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/internal/linear_solve.jl:121 [inlined]
│  #__internal_solve!#54 at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/descent/newton.jl:84
│  __internal_solve! at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/descent/newton.jl:74 [inlined]
│  __internal_solve! at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/descent/newton.jl:74 [inlined]
│  #__step!#230 at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/core/generalized_first_order.jl:234
│  __step! at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/core/generalized_first_order.jl:215 [inlined]
│  #step!#218 at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/core/generic.jl:50 [inlined]
│  step! at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/core/generic.jl:45 [inlined]
│  solve! at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/core/generic.jl:13
│  #__solve#217 at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/core/generic.jl:4 [inlined]
│  __solve at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/core/generic.jl:1 [inlined]
│  macro expansion at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/default.jl:282 [inlined]
│  #__solve#314 at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/default.jl:255
│  __solve at /home/andrew/.julia/packages/NonlinearSolve/82B4C/src/default.jl:255 [inlined]
│  #__perform_mirk_iteration#131 at /home/andrew/.julia/packages/BoundaryValueDiffEq/3BLgh/src/solve/mirk.jl:167
│  __perform_mirk_iteration at /home/andrew/.julia/packages/BoundaryValueDiffEq/3BLgh/src/solve/mirk.jl:163 [inlined]
│  solve! at /home/andrew/.julia/packages/BoundaryValueDiffEq/3BLgh/src/solve/mirk.jl:146
│  #__solve#168 at /home/andrew/.julia/packages/BoundaryValueDiffEq/3BLgh/src/BoundaryValueDiffEq.jl:49 [inlined]
│  __solve at /home/andrew/.julia/packages/BoundaryValueDiffEq/3BLgh/src/BoundaryValueDiffEq.jl:47 [inlined]
│  #solve_call#44 at /home/andrew/.julia/packages/DiffEqBase/c8MAQ/src/solve.jl:612 [inlined]
│  solve_call at /home/andrew/.julia/packages/DiffEqBase/c8MAQ/src/solve.jl:569 [inlined]
│  #solve_up#53 at /home/andrew/.julia/packages/DiffEqBase/c8MAQ/src/solve.jl:1080
│  solve_up at /home/andrew/.julia/packages/DiffEqBase/c8MAQ/src/solve.jl:1066 [inlined]
│  #solve#51 at /home/andrew/.julia/packages/DiffEqBase/c8MAQ/src/solve.jl:1003 [inlined]
│  solve at /home/andrew/.julia/packages/DiffEqBase/c8MAQ/src/solve.jl:993 [inlined]
│  #177 at /home/andrew/.julia/packages/BoundaryValueDiffEq/3BLgh/src/BoundaryValueDiffEq.jl:93
│  unknown function (ip: 0x7f7db9d15b56)

Any ideas? Earlier version I should fall back to?

2 Likes

Using what installation? Download from julialang.org?

Yes, using the curl -fsSL https://install.julialang.org | sh install method.

Interesting, that was supposed to be fixed by Julia v1.10.4. I’ll see if anyone else can reproduce from the compiler team.