Package evaluation to test Checkpointing on Julia 1.14.0-DEV.36 (e2f3178d9b*) started at 2025-11-06T18:19:50.475 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 9.66s ################################################################################ # Installation # Installing Checkpointing... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [eb46d486] + Checkpointing v0.11.1 Updating `~/.julia/environments/v1.14/Manifest.toml` [7d9f7c33] + Accessors v0.1.42 [fa961155] + CEnum v0.5.0 [d360d2e6] + ChainRulesCore v1.26.0 [eb46d486] + Checkpointing v0.11.1 [34da2185] + Compat v4.18.1 [a33af91c] + CompositionsBase v0.1.2 [187b0558] + ConstructionBase v1.6.0 ⌅ [864edb3b] + DataStructures v0.18.22 [7da242da] + Enzyme v0.13.96 [f151be2c] + EnzymeCore v0.8.15 [e2ba6199] + ExprTools v0.1.10 [61eb1bfa] + GPUCompiler v1.7.2 [f67ccb44] + HDF5 v0.17.2 [3587e190] + InverseFunctions v0.1.17 [692b3bcd] + JLLWrappers v1.7.1 [929cbde3] + LLVM v9.4.4 [3da0fdf6] + MPIPreferences v0.1.11 [1914dd2f] + MacroTools v0.5.16 [d8793406] + ObjectFile v0.5.0 [bac558e1] + OrderedCollections v1.8.1 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.0 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [6c6a2e73] + Scratch v1.3.0 [53d494c1] + StructIO v0.3.1 [e689c965] + Tracy v0.1.6 ⌅ [7cc45869] + Enzyme_jll v0.0.207+0 [0234f1f7] + HDF5_jll v1.14.6+0 [e33a78d0] + Hwloc_jll v2.12.2+0 [dad2f222] + LLVMExtra_jll v0.0.38+0 [ad6e5548] + LibTracyClient_jll v0.9.1+6 [94ce4f54] + Libiconv_jll v1.18.0+0 [7cb0a576] + MPICH_jll v4.3.2+0 [f1f71cc9] + MPItrampoline_jll v5.5.4+0 [9237b28f] + MicrosoftMPI_jll v10.1.4+3 [fe0851c0] + OpenMPI_jll v5.0.8+0 ⌅ [02c8fc9c] + XML2_jll v2.13.9+0 [a65dc6b1] + Xorg_libpciaccess_jll v0.18.1+0 [477f73a3] + libaec_jll v1.1.4+0 [0dad84c5] + ArgTools v1.1.2 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [f43a241f] + Downloads v1.7.0 [7b1f6079] + FileWatching v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.12.0 [4af54fe1] + LazyArtifacts v1.11.0 [b27032c2] + LibCURL v1.0.0 [76f85450] + LibGit2 v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [a63ad114] + Mmap v1.11.0 [ca575930] + NetworkOptions v1.3.0 [44cfe95a] + Pkg v1.13.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.0.0 [9e88b42a] + Serialization v1.11.0 [2f01184e] + SparseArrays v1.13.0 [f489334b] + StyledStrings v1.11.0 [fa267f1f] + TOML v1.0.3 [a4e569a6] + Tar v1.10.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] + LibCURL_jll v8.16.0+0 [e37daf67] + LibGit2_jll v1.9.1+0 [29816b5a] + LibSSH2_jll v1.11.3+1 [14a3606d] + MozillaCACerts_jll v2025.11.4 [4536629a] + OpenBLAS_jll v0.3.29+0 [458c3c95] + OpenSSL_jll v3.5.4+0 [efcefdf7] + PCRE2_jll v10.47.0+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [83775a58] + Zlib_jll v1.3.1+2 [3161d3a3] + Zstd_jll v1.5.7+1 [8e850b90] + libblastrampoline_jll v5.15.0+0 [8e850ede] + nghttp2_jll v1.68.0+1 [3f19e933] + p7zip_jll v17.6.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 11.61s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... ┌ Error: Failed to use TestEnv.jl; test dependencies will not be precompiled │ exception = │ UndefVarError: `project_rel_path` not defined in `TestEnv` │ Suggestion: this global was defined as `Pkg.Operations.project_rel_path` but not assigned a value. │ Stacktrace: │ [1] get_test_dir(ctx::Pkg.Types.Context, pkgspec::PackageSpec) │ @ TestEnv ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/common.jl:75 │ [2] test_dir_has_project_file │ @ ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/common.jl:52 [inlined] │ [3] maybe_gen_project_override! │ @ ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/common.jl:83 [inlined] │ [4] activate(pkg::String; allow_reresolve::Bool) │ @ TestEnv ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/activate_set.jl:12 │ [5] activate(pkg::String) │ @ TestEnv ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/activate_set.jl:9 │ [6] top-level scope │ @ /PkgEval.jl/scripts/precompile.jl:24 │ [7] include(mod::Module, _path::String) │ @ Base ./Base.jl:309 │ [8] exec_options(opts::Base.JLOptions) │ @ Base ./client.jl:344 │ [9] _start() │ @ Base ./client.jl:577 └ @ Main /PkgEval.jl/scripts/precompile.jl:26 Precompiling package dependencies... Precompiling packages... 45577.5 ms ✓ Checkpointing 1 dependency successfully precompiled in 46 seconds. 79 already precompiled. 1 dependency had output during precompilation: ┌ Checkpointing │ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ │ For the time being we recommend using 1.11 or LTS (1.10). │ │ │ │ For latest updates, check the status of support for Julia 1.12+ at │ │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ │ │ └ @ Enzyme ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:1575 └ Precompilation completed after 65.98s ################################################################################ # Testing # Testing Checkpointing Status `/tmp/jl_SNOTAj/Project.toml` [eb46d486] Checkpointing v0.11.1 [7da242da] Enzyme v0.13.96 [37e2e46d] LinearAlgebra v1.13.0 [9e88b42a] Serialization v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_SNOTAj/Manifest.toml` [7d9f7c33] Accessors v0.1.42 [fa961155] CEnum v0.5.0 [d360d2e6] ChainRulesCore v1.26.0 [eb46d486] Checkpointing v0.11.1 [34da2185] Compat v4.18.1 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.6.0 ⌅ [864edb3b] DataStructures v0.18.22 [7da242da] Enzyme v0.13.96 [f151be2c] EnzymeCore v0.8.15 [e2ba6199] ExprTools v0.1.10 [61eb1bfa] GPUCompiler v1.7.2 [f67ccb44] HDF5 v0.17.2 [3587e190] InverseFunctions v0.1.17 [692b3bcd] JLLWrappers v1.7.1 [929cbde3] LLVM v9.4.4 [3da0fdf6] MPIPreferences v0.1.11 [1914dd2f] MacroTools v0.5.16 [d8793406] ObjectFile v0.5.0 [bac558e1] OrderedCollections v1.8.1 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.0 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [6c6a2e73] Scratch v1.3.0 [53d494c1] StructIO v0.3.1 [e689c965] Tracy v0.1.6 ⌅ [7cc45869] Enzyme_jll v0.0.207+0 [0234f1f7] HDF5_jll v1.14.6+0 [e33a78d0] Hwloc_jll v2.12.2+0 [dad2f222] LLVMExtra_jll v0.0.38+0 [ad6e5548] LibTracyClient_jll v0.9.1+6 [94ce4f54] Libiconv_jll v1.18.0+0 [7cb0a576] MPICH_jll v4.3.2+0 [f1f71cc9] MPItrampoline_jll v5.5.4+0 [9237b28f] MicrosoftMPI_jll v10.1.4+3 [fe0851c0] OpenMPI_jll v5.0.8+0 ⌅ [02c8fc9c] XML2_jll v2.13.9+0 [a65dc6b1] Xorg_libpciaccess_jll v0.18.1+0 [477f73a3] libaec_jll v1.1.4+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.12.0 [4af54fe1] LazyArtifacts v1.11.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [a63ad114] Mmap v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.13.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.0.0 [9e88b42a] Serialization v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.11.0 [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] LibCURL_jll v8.16.0+0 [e37daf67] LibGit2_jll v1.9.1+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.11.4 [4536629a] OpenBLAS_jll v0.3.29+0 [458c3c95] OpenSSL_jll v3.5.4+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.1+2 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.68.0+1 [3f19e933] p7zip_jll v17.6.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... Enzyme...: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 Got exception outside of a @test Taking the type of an opaque pointer is illegal Stacktrace: [1] error(s::String) @ Base ./error.jl:44 [2] eltype @ ~/.julia/packages/LLVM/iza6e/src/core/type.jl:293 [inlined] [3] propagate_returned!(mod::LLVM.Module) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/llvm/transforms.jl:1688 [4] removeDeadArgs!(mod::LLVM.Module, tm::LLVM.TargetMachine) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/llvm/transforms.jl:2563 [5] optimize!(mod::LLVM.Module, tm::LLVM.TargetMachine) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler/optimize.jl:181 [6] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4774 [7] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [8] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [9] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [10] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [11] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [12] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [13] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [15] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [16] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [17] main() @ Main ~/.julia/packages/Checkpointing/ZAoTt/test/speelpenning.jl:16 [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:15 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:8 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [23] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [24] top-level scope @ none:6 [25] eval(m::Module, e::Any) @ Core ./boot.jl:489 [26] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [27] _start() @ Base ./client.jl:577 scheme = Revolve: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:32 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_for_33480(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#muoptcontrol##1#muoptcontrol##2", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(128) %"scheme::Revolve", ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"range::UnitRange") #7 !dbg !176 { top: %0 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !27, !alias.scope !178, !noalias !179 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !31, !alias.scope !133, !noalias !136 %"range::UnitRange.stop_ptr" = getelementptr inbounds i8, ptr addrspace(11) %"range::UnitRange", i32 8, !dbg !180 %"range::UnitRange.stop_ptr.unbox" = load i64, ptr addrspace(11) %"range::UnitRange.stop_ptr", align 8, !dbg !191, !tbaa !31, !alias.scope !133, !noalias !136 %"range::UnitRange.unbox" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !dbg !191, !tbaa !31, !alias.scope !133, !noalias !136 %3 = icmp slt i64 %"range::UnitRange.stop_ptr.unbox", %"range::UnitRange.unbox", !dbg !191 %4 = xor i1 %3, true, !dbg !188 br i1 %4, label %L6, label %L5, !dbg !188 L5: ; preds = %top br label %L9, !dbg !188 L6: ; preds = %top %5 = icmp ne ptr addrspace(11) %"range::UnitRange", null br i1 %5, label %guard_pass, label %guard_exit L9: ; preds = %guard_exit17, %L5 %value_phi = phi i8 [ 1, %L5 ], [ 0, %guard_exit17 ] %value_phi1 = phi i64 [ %guard_res12, %guard_exit17 ], [ undef, %L5 ] %value_phi2 = phi i64 [ %guard_res19, %guard_exit17 ], [ undef, %L5 ] %6 = trunc i8 %value_phi to i1, !dbg !190 %7 = xor i1 %6, true, !dbg !190 %8 = xor i1 %7, true, !dbg !190 br i1 %8, label %L29, label %L9.L14_crit_edge, !dbg !190 L9.L14_crit_edge: ; preds = %L9 br label %L14, !dbg !188 L14: ; preds = %L9.L14_crit_edge, %L28 %value_phi3 = phi i64 [ %value_phi1, %L9.L14_crit_edge ], [ %value_phi6, %L28 ] %value_phi4 = phi i64 [ %value_phi2, %L9.L14_crit_edge ], [ %value_phi7, %L28 ] %9 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !195 store ptr addrspace(10) %2, ptr %9, align 8, !dbg !195 %10 = call double @julia__muoptcontrol__1_33483(ptr addrspace(11) nocapture readonly %"body::#muoptcontrol##1#muoptcontrol##2", ptr nocapture readonly %0, i64 signext %value_phi3), !dbg !195 %"range::UnitRange.stop_ptr5" = getelementptr inbounds i8, ptr addrspace(11) %"range::UnitRange", i32 8, !dbg !196 %"range::UnitRange.stop_ptr5.unbox" = load i64, ptr addrspace(11) %"range::UnitRange.stop_ptr5", align 8, !dbg !200, !tbaa !31, !alias.scope !133, !noalias !136 %11 = icmp eq i64 %value_phi4, %"range::UnitRange.stop_ptr5.unbox", !dbg !200 %12 = xor i1 %11, true, !dbg !198 br i1 %12, label %L21, label %L20, !dbg !198 L20: ; preds = %L14 br label %L23, !dbg !198 L21: ; preds = %L14 %13 = add i64 %value_phi4, 1, !dbg !202 br label %L23, !dbg !198 L23: ; preds = %L21, %L20 %value_phi6 = phi i64 [ %13, %L21 ], [ undef, %L20 ] %value_phi7 = phi i64 [ %13, %L21 ], [ undef, %L20 ] %value_phi8 = phi i8 [ 1, %L20 ], [ 0, %L21 ] %14 = trunc i8 %value_phi8 to i1, !dbg !199 %15 = xor i1 %14, true, !dbg !199 %16 = xor i1 %15, true, !dbg !199 br i1 %16, label %L29, label %L28, !dbg !199 L28: ; preds = %L23 br label %L14, !dbg !188 L29: ; preds = %L23, %L9 ret void, !dbg !205 guard_pass: ; preds = %L6 br label %guard_exit guard_exit: ; preds = %guard_pass, %L6 %guard_res = phi i1 [ false, %L6 ], [ true, %guard_pass ] br i1 %guard_res, label %guard_pass9, label %guard_exit10 guard_pass9: ; preds = %guard_exit %"range::UnitRange.unbox11" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !tbaa !31, !alias.scope !133, !noalias !136 br label %guard_exit10 guard_exit10: ; preds = %guard_pass9, %guard_exit %guard_res12 = phi i64 [ undef, %guard_exit ], [ %"range::UnitRange.unbox11", %guard_pass9 ] %17 = icmp ne ptr addrspace(11) %"range::UnitRange", null, !dbg !188 br i1 %17, label %guard_pass13, label %guard_exit14, !dbg !188 guard_pass13: ; preds = %guard_exit10 br label %guard_exit14, !dbg !188 guard_exit14: ; preds = %guard_pass13, %guard_exit10 %guard_res15 = phi i1 [ false, %guard_exit10 ], [ true, %guard_pass13 ], !dbg !188 br i1 %guard_res15, label %guard_pass16, label %guard_exit17, !dbg !188 guard_pass16: ; preds = %guard_exit14 %"range::UnitRange.unbox18" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !dbg !188, !tbaa !31, !alias.scope !133, !noalias !136 br label %guard_exit17, !dbg !188 guard_exit17: ; preds = %guard_pass16, %guard_exit14 %guard_res19 = phi i64 [ undef, %guard_exit14 ], [ %"range::UnitRange.unbox18", %guard_pass16 ], !dbg !188 br label %L9, !dbg !188 } expectLen=3 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_for), Main.var"#muoptcontrol##1#muoptcontrol##2"{Main.Model, Float64}, Checkpointing.Revolve{Nothing}, UnitRange{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] muoptcontrol(scheme::Revolve{Nothing}, steps::Int64, snaps::Int64, verbose::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/optcontrol.jl:74 [15] muoptcontrol(scheme::Revolve{Nothing}, steps::Int64, snaps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/optcontrol.jl:44 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:37 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:32 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:31 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [23] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [24] top-level scope @ none:6 [25] eval(m::Module, e::Any) @ Core ./boot.jl:489 [26] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [27] _start() @ Base ./client.jl:577 scheme = Periodic: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:32 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_for_33887(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#muoptcontrol##1#muoptcontrol##2", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(56) %"scheme::Periodic", ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"range::UnitRange") #14 !dbg !687 { top: %0 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !27, !alias.scope !689, !noalias !690 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !31, !alias.scope !133, !noalias !136 %"range::UnitRange.stop_ptr" = getelementptr inbounds i8, ptr addrspace(11) %"range::UnitRange", i32 8, !dbg !691 %"range::UnitRange.stop_ptr.unbox" = load i64, ptr addrspace(11) %"range::UnitRange.stop_ptr", align 8, !dbg !702, !tbaa !31, !alias.scope !133, !noalias !136 %"range::UnitRange.unbox" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !dbg !702, !tbaa !31, !alias.scope !133, !noalias !136 %3 = icmp slt i64 %"range::UnitRange.stop_ptr.unbox", %"range::UnitRange.unbox", !dbg !702 %4 = xor i1 %3, true, !dbg !699 br i1 %4, label %L6, label %L5, !dbg !699 L5: ; preds = %top br label %L9, !dbg !699 L6: ; preds = %top %5 = icmp ne ptr addrspace(11) %"range::UnitRange", null br i1 %5, label %guard_pass, label %guard_exit L9: ; preds = %guard_exit17, %L5 %value_phi = phi i8 [ 1, %L5 ], [ 0, %guard_exit17 ] %value_phi1 = phi i64 [ %guard_res12, %guard_exit17 ], [ undef, %L5 ] %value_phi2 = phi i64 [ %guard_res19, %guard_exit17 ], [ undef, %L5 ] %6 = trunc i8 %value_phi to i1, !dbg !701 %7 = xor i1 %6, true, !dbg !701 %8 = xor i1 %7, true, !dbg !701 br i1 %8, label %L29, label %L9.L14_crit_edge, !dbg !701 L9.L14_crit_edge: ; preds = %L9 br label %L14, !dbg !699 L14: ; preds = %L9.L14_crit_edge, %L28 %value_phi3 = phi i64 [ %value_phi1, %L9.L14_crit_edge ], [ %value_phi6, %L28 ] %value_phi4 = phi i64 [ %value_phi2, %L9.L14_crit_edge ], [ %value_phi7, %L28 ] %9 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !706 store ptr addrspace(10) %2, ptr %9, align 8, !dbg !706 %10 = call double @julia__muoptcontrol__1_33890(ptr addrspace(11) nocapture readonly %"body::#muoptcontrol##1#muoptcontrol##2", ptr nocapture readonly %0, i64 signext %value_phi3), !dbg !706 %"range::UnitRange.stop_ptr5" = getelementptr inbounds i8, ptr addrspace(11) %"range::UnitRange", i32 8, !dbg !707 %"range::UnitRange.stop_ptr5.unbox" = load i64, ptr addrspace(11) %"range::UnitRange.stop_ptr5", align 8, !dbg !711, !tbaa !31, !alias.scope !133, !noalias !136 %11 = icmp eq i64 %value_phi4, %"range::UnitRange.stop_ptr5.unbox", !dbg !711 %12 = xor i1 %11, true, !dbg !709 br i1 %12, label %L21, label %L20, !dbg !709 L20: ; preds = %L14 br label %L23, !dbg !709 L21: ; preds = %L14 %13 = add i64 %value_phi4, 1, !dbg !713 br label %L23, !dbg !709 L23: ; preds = %L21, %L20 %value_phi6 = phi i64 [ %13, %L21 ], [ undef, %L20 ] %value_phi7 = phi i64 [ %13, %L21 ], [ undef, %L20 ] %value_phi8 = phi i8 [ 1, %L20 ], [ 0, %L21 ] %14 = trunc i8 %value_phi8 to i1, !dbg !710 %15 = xor i1 %14, true, !dbg !710 %16 = xor i1 %15, true, !dbg !710 br i1 %16, label %L29, label %L28, !dbg !710 L28: ; preds = %L23 br label %L14, !dbg !699 L29: ; preds = %L23, %L9 ret void, !dbg !716 guard_pass: ; preds = %L6 br label %guard_exit guard_exit: ; preds = %guard_pass, %L6 %guard_res = phi i1 [ false, %L6 ], [ true, %guard_pass ] br i1 %guard_res, label %guard_pass9, label %guard_exit10 guard_pass9: ; preds = %guard_exit %"range::UnitRange.unbox11" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !tbaa !31, !alias.scope !133, !noalias !136 br label %guard_exit10 guard_exit10: ; preds = %guard_pass9, %guard_exit %guard_res12 = phi i64 [ undef, %guard_exit ], [ %"range::UnitRange.unbox11", %guard_pass9 ] %17 = icmp ne ptr addrspace(11) %"range::UnitRange", null, !dbg !699 br i1 %17, label %guard_pass13, label %guard_exit14, !dbg !699 guard_pass13: ; preds = %guard_exit10 br label %guard_exit14, !dbg !699 guard_exit14: ; preds = %guard_pass13, %guard_exit10 %guard_res15 = phi i1 [ false, %guard_exit10 ], [ true, %guard_pass13 ], !dbg !699 br i1 %guard_res15, label %guard_pass16, label %guard_exit17, !dbg !699 guard_pass16: ; preds = %guard_exit14 %"range::UnitRange.unbox18" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !dbg !699, !tbaa !31, !alias.scope !133, !noalias !136 br label %guard_exit17, !dbg !699 guard_exit17: ; preds = %guard_pass16, %guard_exit14 %guard_res19 = phi i64 [ undef, %guard_exit14 ], [ %"range::UnitRange.unbox18", %guard_pass16 ], !dbg !699 br label %L9, !dbg !699 } expectLen=3 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_for), Main.var"#muoptcontrol##1#muoptcontrol##2"{Main.Model, Float64}, Checkpointing.Periodic{Nothing}, UnitRange{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] muoptcontrol(scheme::Periodic{Nothing}, steps::Int64, snaps::Int64, verbose::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/optcontrol.jl:74 [15] muoptcontrol(scheme::Periodic{Nothing}, steps::Int64, snaps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/optcontrol.jl:44 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:37 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:32 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:31 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [23] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [24] top-level scope @ none:6 [25] eval(m::Module, e::Any) @ Core ./boot.jl:489 [26] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [27] _start() @ Base ./client.jl:577 Revolve with verbose=0: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_34309(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #15 !dbg !203 { top: %pgcstack = call ptr @julia.get_pgcstack() %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#34275" = load ptr, ptr @_Core_BoundsError_34275, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#34275" to ptr addrspace(10), !dbg !204 %"+Core.BoundsError#34276" = load ptr, ptr @_Core_BoundsError_34276, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#34276" to ptr addrspace(10), !dbg !204 %"+Main.Base.Broadcast.Broadcasted#34311" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_34311, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#34311" to i64, !dbg !204 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !204 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !204 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !204 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !204 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !204 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !204 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !204, !tbaa !177, !alias.scope !181, !noalias !182 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !204 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !204 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !204, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#34277" = load ptr, ptr @_Core_Tuple_34277, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#34277" to i64, !dbg !204 %11 = inttoptr i64 %Tuple to ptr, !dbg !204 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !204 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !204 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !204 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !204 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !204, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !204 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !204 call void @ijl_throw(ptr addrspace(12) %15), !dbg !204 unreachable, !dbg !204 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !204 unreachable, !dbg !204 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !204 unreachable, !dbg !204 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Revolve{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 [ Info: [Checkpointing] Number of checkpoints: 100 Revolve with verbose=1: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_34518(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #15 !dbg !203 { top: %pgcstack = call ptr @julia.get_pgcstack() %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#34484" = load ptr, ptr @_Core_BoundsError_34484, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#34484" to ptr addrspace(10), !dbg !204 %"+Core.BoundsError#34485" = load ptr, ptr @_Core_BoundsError_34485, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#34485" to ptr addrspace(10), !dbg !204 %"+Main.Base.Broadcast.Broadcasted#34520" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_34520, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#34520" to i64, !dbg !204 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !204 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !204 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !204 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !204 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !204 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !204 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !204, !tbaa !177, !alias.scope !181, !noalias !182 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !204 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !204 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !204, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#34486" = load ptr, ptr @_Core_Tuple_34486, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#34486" to i64, !dbg !204 %11 = inttoptr i64 %Tuple to ptr, !dbg !204 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !204 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !204 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !204 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !204 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !204, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !204 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !204 call void @ijl_throw(ptr addrspace(12) %15), !dbg !204 unreachable, !dbg !204 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !204 unreachable, !dbg !204 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !204 unreachable, !dbg !204 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Revolve{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Periodic with verbose=0: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_34737(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #16 !dbg !230 { top: %pgcstack = call ptr @julia.get_pgcstack() %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#34703" = load ptr, ptr @_Core_BoundsError_34703, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#34703" to ptr addrspace(10), !dbg !231 %"+Core.BoundsError#34704" = load ptr, ptr @_Core_BoundsError_34704, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#34704" to ptr addrspace(10), !dbg !231 %"+Main.Base.Broadcast.Broadcasted#34739" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_34739, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#34739" to i64, !dbg !231 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !231 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !231 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !231 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !231 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !231 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !231 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !231, !tbaa !204, !alias.scope !208, !noalias !209 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !231 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !231 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !231, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#34705" = load ptr, ptr @_Core_Tuple_34705, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#34705" to i64, !dbg !231 %11 = inttoptr i64 %Tuple to ptr, !dbg !231 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !231 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !231 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !231 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !231 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !231, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !231 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !231 call void @ijl_throw(ptr addrspace(12) %15), !dbg !231 unreachable, !dbg !231 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !231 unreachable, !dbg !231 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !231 unreachable, !dbg !231 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Periodic{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 [ Info: [Checkpointing] Periodic checkpointing with 100 checkpoints and period 0 Periodic with verbose=1: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_34799(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #16 !dbg !230 { top: %pgcstack = call ptr @julia.get_pgcstack() %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#34765" = load ptr, ptr @_Core_BoundsError_34765, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#34765" to ptr addrspace(10), !dbg !231 %"+Core.BoundsError#34766" = load ptr, ptr @_Core_BoundsError_34766, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#34766" to ptr addrspace(10), !dbg !231 %"+Main.Base.Broadcast.Broadcasted#34801" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_34801, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#34801" to i64, !dbg !231 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !231 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !231 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !231 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !231 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !231 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !231 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !231, !tbaa !204, !alias.scope !208, !noalias !209 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !231 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !231 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !231, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#34767" = load ptr, ptr @_Core_Tuple_34767, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#34767" to i64, !dbg !231 %11 = inttoptr i64 %Tuple to ptr, !dbg !231 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !231 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !231 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !231 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !231 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !231, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !231 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !231 call void @ijl_throw(ptr addrspace(12) %15), !dbg !231 unreachable, !dbg !231 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !231 unreachable, !dbg !231 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !231 unreachable, !dbg !231 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Periodic{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Online_r2 with verbose=0: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_while_35027(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#sumheat##2#sumheat##3", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(152) %"scheme::Online_r2") #0 !dbg !16 { top: %0 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !19, !alias.scope !23, !noalias !26 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !31, !alias.scope !33, !noalias !34 br label %L2 L2: ; preds = %L4, %top %value_phi = phi i8 [ 1, %top ], [ %6, %L4 ] %3 = trunc i8 %value_phi to i1, !dbg !35 %4 = xor i1 %3, true, !dbg !35 br i1 %4, label %L6, label %L4, !dbg !35 L4: ; preds = %L2 %5 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !36 store ptr addrspace(10) %2, ptr %5, align 8, !dbg !36 %6 = call i8 @julia__sumheat__2_35030(ptr addrspace(11) nocapture readonly %"body::#sumheat##2#sumheat##3", ptr nocapture readonly %0), !dbg !36 br label %L2, !dbg !37 L6: ; preds = %L2 ret void, !dbg !38 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_while), Main.var"#sumheat##2#sumheat##3"{Main.Heat, Int64}, Checkpointing.Online_r2{Nothing}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Online_r2{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 [ Info: [Checkpointing] Number of checkpoints: 100 Online_r2 with verbose=1: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_while_35089(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#sumheat##2#sumheat##3", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(152) %"scheme::Online_r2") #0 !dbg !16 { top: %0 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !19, !alias.scope !23, !noalias !26 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !31, !alias.scope !33, !noalias !34 br label %L2 L2: ; preds = %L4, %top %value_phi = phi i8 [ 1, %top ], [ %6, %L4 ] %3 = trunc i8 %value_phi to i1, !dbg !35 %4 = xor i1 %3, true, !dbg !35 br i1 %4, label %L6, label %L4, !dbg !35 L4: ; preds = %L2 %5 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !36 store ptr addrspace(10) %2, ptr %5, align 8, !dbg !36 %6 = call i8 @julia__sumheat__2_35092(ptr addrspace(11) nocapture readonly %"body::#sumheat##2#sumheat##3", ptr nocapture readonly %0), !dbg !36 br label %L2, !dbg !37 L6: ; preds = %L2 ret void, !dbg !38 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_while), Main.var"#sumheat##2#sumheat##3"{Main.Heat, Int64}, Checkpointing.Online_r2{Nothing}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Online_r2{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Revolve: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_35812(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #15 !dbg !203 { top: %pgcstack = call ptr @julia.get_pgcstack() %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#35778" = load ptr, ptr @_Core_BoundsError_35778, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#35778" to ptr addrspace(10), !dbg !204 %"+Core.BoundsError#35779" = load ptr, ptr @_Core_BoundsError_35779, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#35779" to ptr addrspace(10), !dbg !204 %"+Main.Base.Broadcast.Broadcasted#35814" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_35814, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#35814" to i64, !dbg !204 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !204 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !204 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !204 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !204 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !204 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !204 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !204, !tbaa !177, !alias.scope !181, !noalias !182 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !204 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !204 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !204, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#35780" = load ptr, ptr @_Core_Tuple_35780, align 8, !dbg !204, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#35780" to i64, !dbg !204 %11 = inttoptr i64 %Tuple to ptr, !dbg !204 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !204 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !204 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !204 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !204 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !204, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !204 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !204 call void @ijl_throw(ptr addrspace(12) %15), !dbg !204 unreachable, !dbg !204 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !204 unreachable, !dbg !204 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !204 unreachable, !dbg !204 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Revolve{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:62 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Periodic: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_35902(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #16 !dbg !230 { top: %pgcstack = call ptr @julia.get_pgcstack() %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#35868" = load ptr, ptr @_Core_BoundsError_35868, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#35868" to ptr addrspace(10), !dbg !231 %"+Core.BoundsError#35869" = load ptr, ptr @_Core_BoundsError_35869, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#35869" to ptr addrspace(10), !dbg !231 %"+Main.Base.Broadcast.Broadcasted#35904" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_35904, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#35904" to i64, !dbg !231 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !231 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !231 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !231 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !231 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !231 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !231 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !231, !tbaa !204, !alias.scope !208, !noalias !209 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !231 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !231 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !231, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#35870" = load ptr, ptr @_Core_Tuple_35870, align 8, !dbg !231, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#35870" to i64, !dbg !231 %11 = inttoptr i64 %Tuple to ptr, !dbg !231 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !231 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !231 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !231 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !231 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !231, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !231 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !231 call void @ijl_throw(ptr addrspace(12) %15), !dbg !231 unreachable, !dbg !231 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !231 unreachable, !dbg !231 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !231 unreachable, !dbg !231 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Periodic{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:62 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Online_r2: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_while_35991(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#sumheat##2#sumheat##3", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(152) %"scheme::Online_r2") #0 !dbg !16 { top: %0 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !19, !alias.scope !23, !noalias !26 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !31, !alias.scope !33, !noalias !34 br label %L2 L2: ; preds = %L4, %top %value_phi = phi i8 [ 1, %top ], [ %6, %L4 ] %3 = trunc i8 %value_phi to i1, !dbg !35 %4 = xor i1 %3, true, !dbg !35 br i1 %4, label %L6, label %L4, !dbg !35 L4: ; preds = %L2 %5 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !36 store ptr addrspace(10) %2, ptr %5, align 8, !dbg !36 %6 = call i8 @julia__sumheat__2_35994(ptr addrspace(11) nocapture readonly %"body::#sumheat##2#sumheat##3", ptr nocapture readonly %0), !dbg !36 br label %L2, !dbg !37 L6: ; preds = %L2 ret void, !dbg !38 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_while), Main.var"#sumheat##2#sumheat##3"{Main.Heat, Int64}, Checkpointing.Online_r2{Nothing}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Online_r2{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:62 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Revolve: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 Got exception outside of a @test Taking the type of an opaque pointer is illegal Stacktrace: [1] error(s::String) @ Base ./error.jl:44 [2] eltype @ ~/.julia/packages/LLVM/iza6e/src/core/type.jl:293 [inlined] [3] propagate_returned!(mod::LLVM.Module) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/llvm/transforms.jl:1688 [4] removeDeadArgs!(mod::LLVM.Module, tm::LLVM.TargetMachine) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/llvm/transforms.jl:2563 [5] optimize!(mod::LLVM.Module, tm::LLVM.TargetMachine) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler/optimize.jl:181 [6] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4774 [7] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [8] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [9] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [10] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [11] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [12] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [13] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [15] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [16] box(scheme::Revolve{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/box_model.jl:175 [17] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:77 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [19] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:71 [inlined] [22] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [23] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [24] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [25] top-level scope @ none:6 [26] eval(m::Module, e::Any) @ Core ./boot.jl:489 [27] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [28] _start() @ Base ./client.jl:577 Periodic: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 Got exception outside of a @test Taking the type of an opaque pointer is illegal Stacktrace: [1] error(s::String) @ Base ./error.jl:44 [2] eltype @ ~/.julia/packages/LLVM/iza6e/src/core/type.jl:293 [inlined] [3] propagate_returned!(mod::LLVM.Module) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/llvm/transforms.jl:1688 [4] removeDeadArgs!(mod::LLVM.Module, tm::LLVM.TargetMachine) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/llvm/transforms.jl:2563 [5] optimize!(mod::LLVM.Module, tm::LLVM.TargetMachine) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler/optimize.jl:181 [6] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4774 [7] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [8] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [9] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [10] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [11] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [12] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [13] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [14] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [15] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [16] box(scheme::Periodic{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/box_model.jl:175 [17] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:77 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [19] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:71 [inlined] [22] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [23] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [24] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [25] top-level scope @ none:6 [26] eval(m::Module, e::Any) @ Core ./boot.jl:489 [27] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [28] _start() @ Base ./client.jl:577 Online_r2: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_while_36544(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#timestepper##2#timestepper##3", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(152) %"scheme::Online_r2") #13 !dbg !337 { top: %.in_now3.size = alloca i64, align 8 %.out_old2.size = alloca i64, align 8 %.in_old9.size = alloca i64, align 8 %.out_now7.size = alloca i64, align 8 %"new::Tuple" = alloca [1 x i64], align 8 %"new::Tuple81" = alloca [1 x i64], align 8 %pgcstack = call ptr @julia.get_pgcstack() %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !14 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !18 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !18, !alias.scope !147, !noalias !148 br label %L2 L2: ; preds = %L112, %top %value_phi = phi i8 [ 1, %top ], [ %81, %L112 ] %3 = trunc i8 %value_phi to i1, !dbg !339 %4 = xor i1 %3, true, !dbg !339 br i1 %4, label %L113, label %L4, !dbg !339 L4: ; preds = %L2 %5 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !340 %.in_now = load atomic ptr addrspace(10), ptr addrspace(11) %5 unordered, align 8, !dbg !340, !tbaa !349, !alias.scope !189, !noalias !190, !nonnull !0, !dereferenceable !351, !align !56 %6 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !340 %.in_old_ptr = getelementptr inbounds i8, ptr addrspace(11) %6, i32 8, !dbg !340 %.in_old = load atomic ptr addrspace(10), ptr addrspace(11) %.in_old_ptr unordered, align 8, !dbg !340, !tbaa !349, !alias.scope !189, !noalias !190, !nonnull !0, !dereferenceable !351, !align !56 %7 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !340 %.out_now_ptr = getelementptr inbounds i8, ptr addrspace(11) %7, i32 16, !dbg !340 %.out_now = load atomic ptr addrspace(10), ptr addrspace(11) %.out_now_ptr unordered, align 8, !dbg !340, !tbaa !349, !alias.scope !189, !noalias !190, !nonnull !0, !dereferenceable !351, !align !56 %8 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !340 %.out_old_ptr = getelementptr inbounds i8, ptr addrspace(11) %8, i32 24, !dbg !340 %.out_old = load atomic ptr addrspace(10), ptr addrspace(11) %.out_old_ptr unordered, align 8, !dbg !340, !tbaa !349, !alias.scope !189, !noalias !190, !nonnull !0, !dereferenceable !351, !align !56 call void @julia_forward_func_4_AD_36559(ptr addrspace(10) %.in_now, ptr addrspace(10) %.in_old, ptr addrspace(10) %.out_now, ptr addrspace(10) %.out_old), !dbg !342 %9 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !352 %.out_old_ptr1 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 24, !dbg !352 %.out_old2 = load atomic ptr addrspace(10), ptr addrspace(11) %.out_old_ptr1 unordered, align 8, !dbg !352, !tbaa !349, !alias.scope !189, !noalias !190, !nonnull !0, !dereferenceable !351, !align !56 %10 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !352 %.in_now3 = load atomic ptr addrspace(10), ptr addrspace(11) %10 unordered, align 8, !dbg !352, !tbaa !349, !alias.scope !189, !noalias !190, !nonnull !0, !dereferenceable !351, !align !56 %11 = addrspacecast ptr addrspace(10) %.in_now3 to ptr addrspace(11), !dbg !354 %.in_now3.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %11, i32 16, !dbg !354 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.in_now3.size, ptr addrspace(11) align 8 %.in_now3.size_ptr, i64 8, i1 false), !dbg !354, !tbaa !34, !alias.scope !35, !noalias !39 br i1 false, label %L27, label %L18, !dbg !360 L18: ; preds = %L4 %12 = addrspacecast ptr addrspace(10) %.out_old2 to ptr addrspace(11), !dbg !361 %.out_old2.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %12, i32 16, !dbg !361 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.out_old2.size, ptr addrspace(11) align 8 %.out_old2.size_ptr, i64 8, i1 false), !dbg !361, !tbaa !34, !alias.scope !35, !noalias !39 %.out_old2.size.unbox = load i64, ptr %.out_old2.size, align 8, !dbg !365, !tbaa !43, !alias.scope !45, !noalias !46 %.in_now3.size.unbox = load i64, ptr %.in_now3.size, align 8, !dbg !365, !tbaa !43, !alias.scope !45, !noalias !46 %13 = icmp eq i64 %.out_old2.size.unbox, %.in_now3.size.unbox, !dbg !365 %14 = xor i1 %13, true, !dbg !363 br i1 %14, label %L23, label %L22, !dbg !363 L22: ; preds = %L18 br label %L26, !dbg !363 L23: ; preds = %L18 %15 = getelementptr inbounds i8, ptr %"new::Tuple81", i32 0, !dbg !363 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %.in_now3.size, i64 8, i1 false), !dbg !363, !tbaa !43, !alias.scope !45, !noalias !46 %16 = addrspacecast ptr %"new::Tuple81" to ptr addrspace(11), !dbg !363 call void @julia_throw_setindex_mismatch_36551(ptr addrspace(10) %.out_old2, ptr addrspace(11) nocapture readonly %16) #17, !dbg !363 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_11), !dbg !363 unreachable, !dbg !363 L26: ; preds = %L22 br label %L27, !dbg !363 L27: ; preds = %L26, %L4 %.in_now3.size.unbox4 = load i64, ptr %.in_now3.size, align 8, !dbg !367, !tbaa !43, !alias.scope !45, !noalias !46 %17 = icmp slt i64 0, %.in_now3.size.unbox4, !dbg !367 %18 = xor i1 %17, true, !dbg !371 br i1 %18, label %L55, label %L29, !dbg !371 L29: ; preds = %L27 %.in_now3.size.unbox5 = load i64, ptr %.in_now3.size, align 8, !dbg !372, !tbaa !43, !alias.scope !45, !noalias !46 %19 = icmp eq i64 %.in_now3.size.unbox5, 0, !dbg !372 %20 = xor i1 %19, true, !dbg !373 br i1 %20, label %L32, label %L31, !dbg !373 L31: ; preds = %L29 br label %L54, !dbg !373 L32: ; preds = %L29 %21 = addrspacecast ptr addrspace(10) %.in_now3 to ptr addrspace(11), !dbg !376 %22 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %21, i32 0, i32 0, !dbg !376 %memoryref_data38 = load ptr, ptr addrspace(11) %22, align 8, !dbg !376, !tbaa !50, !alias.scope !53, !noalias !54 %23 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %21, i32 0, i32 1, !dbg !376 %memoryref_mem39 = load ptr addrspace(10), ptr addrspace(11) %23, align 8, !dbg !376, !tbaa !50, !alias.scope !53, !noalias !54, !dereferenceable_or_null !55, !align !56 %24 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data38, 0, !dbg !376 %.in_now3.ref = insertvalue { ptr, ptr addrspace(10) } %24, ptr addrspace(10) %memoryref_mem39, 1, !dbg !376 %25 = addrspacecast ptr addrspace(10) %memoryref_mem39 to ptr addrspace(11), !dbg !378 %26 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %25, i32 0, i32 0, !dbg !378 %memory_len40 = load i64, ptr addrspace(11) %26, align 8, !dbg !378, !tbaa !57, !range !59, !alias.scope !53, !noalias !54 %27 = add nuw i64 %memory_len40, %memory_len40, !dbg !378 %28 = add i64 0, %memory_len40, !dbg !378 %memoryref_ovflw41 = icmp uge i64 %28, %27, !dbg !378 %memoryref_data_byteoffset42 = getelementptr i8, ptr %memoryref_data38, i64 0, !dbg !378 %29 = addrspacecast ptr addrspace(10) %memoryref_mem39 to ptr addrspace(11), !dbg !378 %30 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %29, i32 0, i32 0, !dbg !378 %memory_len43 = load i64, ptr addrspace(11) %30, align 8, !dbg !378, !tbaa !57, !range !59, !alias.scope !53, !noalias !54 %31 = addrspacecast ptr addrspace(10) %memoryref_mem39 to ptr addrspace(11), !dbg !378 %memory_data_ptr44 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %31, i32 0, i32 1, !dbg !378 %memory_data45 = load ptr, ptr addrspace(11) %memory_data_ptr44, align 8, !dbg !378, !tbaa !60, !alias.scope !53, !noalias !54, !nonnull !0 %32 = ptrtoint ptr %memory_data45 to i64, !dbg !378 %33 = ptrtoint ptr %memoryref_data_byteoffset42 to i64, !dbg !378 %34 = sub i64 %33, %32, !dbg !378 %memoryref_bytelen46 = mul nuw nsw i64 %memory_len43, 8, !dbg !378 %memoryref_isinbounds47 = icmp ult i64 %34, %memoryref_bytelen46, !dbg !378 %35 = xor i1 %memoryref_ovflw41, true, !dbg !378 %"memoryref_isinbounds¬ovflw48" = and i1 %35, %memoryref_isinbounds47, !dbg !378 br i1 %"memoryref_isinbounds¬ovflw48", label %idxend54, label %oob49, !dbg !378 L47: ; preds = %idxend72 %"-Core.throw_inexacterror#3654775" = load ptr, ptr @_Core_throw_inexacterror_36547, align 8, !dbg !380, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0, !dereferenceable !149, !align !56 %36 = addrspacecast ptr %"-Core.throw_inexacterror#3654775" to ptr addrspace(10), !dbg !380 %"jl_global#3654876" = load ptr, ptr @jl_global_36548, align 8, !dbg !380, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0 %37 = addrspacecast ptr %"jl_global#3654876" to ptr addrspace(10), !dbg !380 %"jl_sym#convert#3654977" = load ptr, ptr @jl_sym_convert_36549, align 8, !dbg !380, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0 %38 = addrspacecast ptr %"jl_sym#convert#3654977" to ptr addrspace(10), !dbg !380 %39 = load ptr, ptr getelementptr inbounds (i8, ptr @jl_small_typeof, i32 336), align 8, !dbg !380, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0, !dereferenceable !150, !align !55 %40 = addrspacecast ptr %39 to ptr addrspace(10), !dbg !380 %box_Int6478 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %142) #18, !dbg !380 %41 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %36, ptr addrspace(10) %37, ptr addrspace(10) %38, ptr addrspace(10) %40, ptr addrspace(10) %box_Int6478), !dbg !380 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_11), !dbg !380 unreachable, !dbg !380 L49: ; preds = %idxend72 call void @llvm.memmove.p0.p0.i64(ptr %memory_ref55.ptr_or_offset, ptr %memory_ref73.ptr_or_offset, i64 %142, i1 false), !dbg !390 call void @llvm.julia.gc_preserve_end(token %141), !dbg !394 call void @llvm.julia.gc_preserve_end(token %140), !dbg !395 br label %L54, !dbg !396 L54: ; preds = %L49, %L31 br label %L55, !dbg !373 L55: ; preds = %L54, %L27 br label %L56, !dbg !397 L56: ; preds = %L55 %42 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !398 %.out_now_ptr6 = getelementptr inbounds i8, ptr addrspace(11) %42, i32 16, !dbg !398 %.out_now7 = load atomic ptr addrspace(10), ptr addrspace(11) %.out_now_ptr6 unordered, align 8, !dbg !398, !tbaa !349, !alias.scope !189, !noalias !190, !nonnull !0, !dereferenceable !351, !align !56 %43 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !398 %.in_old_ptr8 = getelementptr inbounds i8, ptr addrspace(11) %43, i32 8, !dbg !398 %.in_old9 = load atomic ptr addrspace(10), ptr addrspace(11) %.in_old_ptr8 unordered, align 8, !dbg !398, !tbaa !349, !alias.scope !189, !noalias !190, !nonnull !0, !dereferenceable !351, !align !56 %44 = addrspacecast ptr addrspace(10) %.in_old9 to ptr addrspace(11), !dbg !400 %.in_old9.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %44, i32 16, !dbg !400 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.in_old9.size, ptr addrspace(11) align 8 %.in_old9.size_ptr, i64 8, i1 false), !dbg !400, !tbaa !34, !alias.scope !35, !noalias !39 br i1 false, label %L73, label %L64, !dbg !403 L64: ; preds = %L56 %45 = addrspacecast ptr addrspace(10) %.out_now7 to ptr addrspace(11), !dbg !404 %.out_now7.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %45, i32 16, !dbg !404 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.out_now7.size, ptr addrspace(11) align 8 %.out_now7.size_ptr, i64 8, i1 false), !dbg !404, !tbaa !34, !alias.scope !35, !noalias !39 %.out_now7.size.unbox = load i64, ptr %.out_now7.size, align 8, !dbg !407, !tbaa !43, !alias.scope !45, !noalias !46 %.in_old9.size.unbox = load i64, ptr %.in_old9.size, align 8, !dbg !407, !tbaa !43, !alias.scope !45, !noalias !46 %46 = icmp eq i64 %.out_now7.size.unbox, %.in_old9.size.unbox, !dbg !407 %47 = xor i1 %46, true, !dbg !406 br i1 %47, label %L69, label %L68, !dbg !406 L68: ; preds = %L64 br label %L72, !dbg !406 L69: ; preds = %L64 %48 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !406 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %48, ptr align 8 %.in_old9.size, i64 8, i1 false), !dbg !406, !tbaa !43, !alias.scope !45, !noalias !46 %49 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !406 call void @julia_throw_setindex_mismatch_36551(ptr addrspace(10) %.out_now7, ptr addrspace(11) nocapture readonly %49) #17, !dbg !406 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_11), !dbg !406 unreachable, !dbg !406 L72: ; preds = %L68 br label %L73, !dbg !406 L73: ; preds = %L72, %L56 %.in_old9.size.unbox10 = load i64, ptr %.in_old9.size, align 8, !dbg !408, !tbaa !43, !alias.scope !45, !noalias !46 %50 = icmp slt i64 0, %.in_old9.size.unbox10, !dbg !408 %51 = xor i1 %50, true, !dbg !410 br i1 %51, label %L101, label %L75, !dbg !410 L75: ; preds = %L73 %.in_old9.size.unbox11 = load i64, ptr %.in_old9.size, align 8, !dbg !411, !tbaa !43, !alias.scope !45, !noalias !46 %52 = icmp eq i64 %.in_old9.size.unbox11, 0, !dbg !411 %53 = xor i1 %52, true, !dbg !412 br i1 %53, label %L78, label %L77, !dbg !412 L77: ; preds = %L75 br label %L100, !dbg !412 L78: ; preds = %L75 %54 = addrspacecast ptr addrspace(10) %.in_old9 to ptr addrspace(11), !dbg !414 %55 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %54, i32 0, i32 0, !dbg !414 %memoryref_data = load ptr, ptr addrspace(11) %55, align 8, !dbg !414, !tbaa !50, !alias.scope !53, !noalias !54 %56 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %54, i32 0, i32 1, !dbg !414 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %56, align 8, !dbg !414, !tbaa !50, !alias.scope !53, !noalias !54, !dereferenceable_or_null !55, !align !56 %57 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !414 %.in_old9.ref = insertvalue { ptr, ptr addrspace(10) } %57, ptr addrspace(10) %memoryref_mem, 1, !dbg !414 %58 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !416 %59 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %58, i32 0, i32 0, !dbg !416 %memory_len = load i64, ptr addrspace(11) %59, align 8, !dbg !416, !tbaa !57, !range !59, !alias.scope !53, !noalias !54 %60 = add nuw i64 %memory_len, %memory_len, !dbg !416 %61 = add i64 0, %memory_len, !dbg !416 %memoryref_ovflw = icmp uge i64 %61, %60, !dbg !416 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 0, !dbg !416 %62 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !416 %63 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %62, i32 0, i32 0, !dbg !416 %memory_len15 = load i64, ptr addrspace(11) %63, align 8, !dbg !416, !tbaa !57, !range !59, !alias.scope !53, !noalias !54 %64 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !416 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %64, i32 0, i32 1, !dbg !416 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !416, !tbaa !60, !alias.scope !53, !noalias !54, !nonnull !0 %65 = ptrtoint ptr %memory_data to i64, !dbg !416 %66 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !416 %67 = sub i64 %66, %65, !dbg !416 %memoryref_bytelen = mul nuw nsw i64 %memory_len15, 8, !dbg !416 %memoryref_isinbounds = icmp ult i64 %67, %memoryref_bytelen, !dbg !416 %68 = xor i1 %memoryref_ovflw, true, !dbg !416 %"memoryref_isinbounds¬ovflw" = and i1 %68, %memoryref_isinbounds, !dbg !416 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !416 L93: ; preds = %idxend33 %"-Core.throw_inexacterror#36547" = load ptr, ptr @_Core_throw_inexacterror_36547, align 8, !dbg !417, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0, !dereferenceable !149, !align !56 %69 = addrspacecast ptr %"-Core.throw_inexacterror#36547" to ptr addrspace(10), !dbg !417 %"jl_global#36548" = load ptr, ptr @jl_global_36548, align 8, !dbg !417, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0 %70 = addrspacecast ptr %"jl_global#36548" to ptr addrspace(10), !dbg !417 %"jl_sym#convert#36549" = load ptr, ptr @jl_sym_convert_36549, align 8, !dbg !417, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0 %71 = addrspacecast ptr %"jl_sym#convert#36549" to ptr addrspace(10), !dbg !417 %72 = load ptr, ptr getelementptr inbounds (i8, ptr @jl_small_typeof, i32 336), align 8, !dbg !417, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0, !dereferenceable !150, !align !55 %73 = addrspacecast ptr %72 to ptr addrspace(10), !dbg !417 %box_Int64 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %109) #18, !dbg !417 %74 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %69, ptr addrspace(10) %70, ptr addrspace(10) %71, ptr addrspace(10) %73, ptr addrspace(10) %box_Int64), !dbg !417 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_11), !dbg !417 unreachable, !dbg !417 L95: ; preds = %idxend33 call void @llvm.memmove.p0.p0.i64(ptr %memory_ref.ptr_or_offset, ptr %memory_ref34.ptr_or_offset, i64 %109, i1 false), !dbg !422 call void @llvm.julia.gc_preserve_end(token %108), !dbg !424 call void @llvm.julia.gc_preserve_end(token %107), !dbg !425 br label %L100, !dbg !426 L100: ; preds = %L95, %L77 br label %L101, !dbg !412 L101: ; preds = %L100, %L73 br label %L102, !dbg !427 L102: ; preds = %L101 %75 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !428 %.i_ptr = getelementptr inbounds i8, ptr addrspace(11) %75, i32 32, !dbg !428 %.i = load i64, ptr addrspace(11) %.i_ptr, align 8, !dbg !428, !tbaa !349, !alias.scope !189, !noalias !190 %76 = add i64 %.i, 1, !dbg !430 %77 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !432 %.i_ptr12 = getelementptr inbounds i8, ptr addrspace(11) %77, i32 32, !dbg !432 store i64 %76, ptr addrspace(11) %.i_ptr12, align 8, !dbg !432, !tbaa !349, !alias.scope !189, !noalias !190 %78 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !434 %.i_ptr13 = getelementptr inbounds i8, ptr addrspace(11) %78, i32 32, !dbg !434 %.i14 = load i64, ptr addrspace(11) %.i_ptr13, align 8, !dbg !434, !tbaa !349, !alias.scope !189, !noalias !190 %79 = getelementptr inbounds i8, ptr addrspace(11) %"body::#timestepper##2#timestepper##3", i32 8, !dbg !435 %.unbox = load i64, ptr addrspace(11) %79, align 8, !dbg !436, !tbaa !18, !alias.scope !147, !noalias !148 %80 = icmp sle i64 %.i14, %.unbox, !dbg !436 br label %L112, !dbg !435 L112: ; preds = %L102 %81 = zext i1 %80 to i8 br label %L2, !dbg !438 L113: ; preds = %L2 ret void, !dbg !439 oob: ; preds = %L78 %"+Core.GenericMemoryRef#36537" = load ptr, ptr @_Core_GenericMemoryRef_36537, align 8, !dbg !416, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0, !dereferenceable !150, !align !55 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#36537" to i64, !dbg !416 %82 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !416 %current_task16 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !416 %83 = addrspacecast ptr %82 to ptr addrspace(10), !dbg !416 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task16, i64 16, ptr addrspace(10) %83) #19, !dbg !416 %84 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !416 store { ptr, ptr addrspace(10) } %.in_old9.ref, ptr addrspace(11) %84, align 8, !dbg !416, !tbaa !185, !alias.scope !189, !noalias !190 %85 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !416 call void @ijl_bounds_error_int(ptr addrspace(12) %85, i64 1), !dbg !416 unreachable, !dbg !416 idxend: ; preds = %L78 %86 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !416 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %86, ptr addrspace(10) %memoryref_mem, 1, !dbg !416 %87 = addrspacecast ptr addrspace(10) %.out_now7 to ptr addrspace(11), !dbg !414 %88 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 0, !dbg !414 %memoryref_data17 = load ptr, ptr addrspace(11) %88, align 8, !dbg !414, !tbaa !50, !alias.scope !53, !noalias !54 %89 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 1, !dbg !414 %memoryref_mem18 = load ptr addrspace(10), ptr addrspace(11) %89, align 8, !dbg !414, !tbaa !50, !alias.scope !53, !noalias !54, !dereferenceable_or_null !55, !align !56 %90 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data17, 0, !dbg !414 %.out_now7.ref = insertvalue { ptr, ptr addrspace(10) } %90, ptr addrspace(10) %memoryref_mem18, 1, !dbg !414 %91 = addrspacecast ptr addrspace(10) %memoryref_mem18 to ptr addrspace(11), !dbg !416 %92 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %91, i32 0, i32 0, !dbg !416 %memory_len19 = load i64, ptr addrspace(11) %92, align 8, !dbg !416, !tbaa !57, !range !59, !alias.scope !53, !noalias !54 %93 = add nuw i64 %memory_len19, %memory_len19, !dbg !416 %94 = add i64 0, %memory_len19, !dbg !416 %memoryref_ovflw20 = icmp uge i64 %94, %93, !dbg !416 %memoryref_data_byteoffset21 = getelementptr i8, ptr %memoryref_data17, i64 0, !dbg !416 %95 = addrspacecast ptr addrspace(10) %memoryref_mem18 to ptr addrspace(11), !dbg !416 %96 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %95, i32 0, i32 0, !dbg !416 %memory_len22 = load i64, ptr addrspace(11) %96, align 8, !dbg !416, !tbaa !57, !range !59, !alias.scope !53, !noalias !54 %97 = addrspacecast ptr addrspace(10) %memoryref_mem18 to ptr addrspace(11), !dbg !416 %memory_data_ptr23 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %97, i32 0, i32 1, !dbg !416 %memory_data24 = load ptr, ptr addrspace(11) %memory_data_ptr23, align 8, !dbg !416, !tbaa !60, !alias.scope !53, !noalias !54, !nonnull !0 %98 = ptrtoint ptr %memory_data24 to i64, !dbg !416 %99 = ptrtoint ptr %memoryref_data_byteoffset21 to i64, !dbg !416 %100 = sub i64 %99, %98, !dbg !416 %memoryref_bytelen25 = mul nuw nsw i64 %memory_len22, 8, !dbg !416 %memoryref_isinbounds26 = icmp ult i64 %100, %memoryref_bytelen25, !dbg !416 %101 = xor i1 %memoryref_ovflw20, true, !dbg !416 %"memoryref_isinbounds¬ovflw27" = and i1 %101, %memoryref_isinbounds26, !dbg !416 br i1 %"memoryref_isinbounds¬ovflw27", label %idxend33, label %oob28, !dbg !416 oob28: ; preds = %idxend %"+Core.GenericMemoryRef#3653729" = load ptr, ptr @_Core_GenericMemoryRef_36537, align 8, !dbg !416, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0, !dereferenceable !150, !align !55 %GenericMemoryRef30 = ptrtoint ptr %"+Core.GenericMemoryRef#3653729" to i64, !dbg !416 %102 = inttoptr i64 %GenericMemoryRef30 to ptr, !dbg !416 %current_task31 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !416 %103 = addrspacecast ptr %102 to ptr addrspace(10), !dbg !416 %"box::GenericMemoryRef32" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task31, i64 16, ptr addrspace(10) %103) #19, !dbg !416 %104 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef32" to ptr addrspace(11), !dbg !416 store { ptr, ptr addrspace(10) } %.out_now7.ref, ptr addrspace(11) %104, align 8, !dbg !416, !tbaa !185, !alias.scope !189, !noalias !190 %105 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef32" to ptr addrspace(12), !dbg !416 call void @ijl_bounds_error_int(ptr addrspace(12) %105, i64 1), !dbg !416 unreachable, !dbg !416 idxend33: ; preds = %idxend %106 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset21, 0, !dbg !416 %memory_ref34 = insertvalue { ptr, ptr addrspace(10) } %106, ptr addrspace(10) %memoryref_mem18, 1, !dbg !416 %107 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem), !dbg !440 %108 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem18), !dbg !441 %memory_ref.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref, 0, !dbg !442 %memory_ref34.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref34, 0, !dbg !442 %.in_old9.size.unbox35 = load i64, ptr %.in_old9.size, align 8, !dbg !446, !tbaa !43, !alias.scope !45, !noalias !46 %109 = mul i64 %.in_old9.size.unbox35, 8, !dbg !446 %110 = lshr i64 %109, 63, !dbg !448 %111 = select i1 false, i64 0, i64 %110, !dbg !448 %112 = trunc i64 %111 to i8, !dbg !448 %113 = icmp eq i8 %112, 1, !dbg !448 %114 = xor i1 %113, true, !dbg !417 br i1 %114, label %L95, label %L93, !dbg !417 after_error: ; No predecessors! call void @llvm.trap(), !dbg !417 unreachable, !dbg !417 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !417 unreachable, !dbg !417 after_error36: ; No predecessors! call void @llvm.trap(), !dbg !406 unreachable, !dbg !406 after_noret37: ; No predecessors! call void @llvm.trap(), !dbg !406 unreachable, !dbg !406 oob49: ; preds = %L32 %"+Core.GenericMemoryRef#3653750" = load ptr, ptr @_Core_GenericMemoryRef_36537, align 8, !dbg !378, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0, !dereferenceable !150, !align !55 %GenericMemoryRef51 = ptrtoint ptr %"+Core.GenericMemoryRef#3653750" to i64, !dbg !378 %115 = inttoptr i64 %GenericMemoryRef51 to ptr, !dbg !378 %current_task52 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !378 %116 = addrspacecast ptr %115 to ptr addrspace(10), !dbg !378 %"box::GenericMemoryRef53" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task52, i64 16, ptr addrspace(10) %116) #19, !dbg !378 %117 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef53" to ptr addrspace(11), !dbg !378 store { ptr, ptr addrspace(10) } %.in_now3.ref, ptr addrspace(11) %117, align 8, !dbg !378, !tbaa !185, !alias.scope !189, !noalias !190 %118 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef53" to ptr addrspace(12), !dbg !378 call void @ijl_bounds_error_int(ptr addrspace(12) %118, i64 1), !dbg !378 unreachable, !dbg !378 idxend54: ; preds = %L32 %119 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset42, 0, !dbg !378 %memory_ref55 = insertvalue { ptr, ptr addrspace(10) } %119, ptr addrspace(10) %memoryref_mem39, 1, !dbg !378 %120 = addrspacecast ptr addrspace(10) %.out_old2 to ptr addrspace(11), !dbg !376 %121 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %120, i32 0, i32 0, !dbg !376 %memoryref_data56 = load ptr, ptr addrspace(11) %121, align 8, !dbg !376, !tbaa !50, !alias.scope !53, !noalias !54 %122 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %120, i32 0, i32 1, !dbg !376 %memoryref_mem57 = load ptr addrspace(10), ptr addrspace(11) %122, align 8, !dbg !376, !tbaa !50, !alias.scope !53, !noalias !54, !dereferenceable_or_null !55, !align !56 %123 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data56, 0, !dbg !376 %.out_old2.ref = insertvalue { ptr, ptr addrspace(10) } %123, ptr addrspace(10) %memoryref_mem57, 1, !dbg !376 %124 = addrspacecast ptr addrspace(10) %memoryref_mem57 to ptr addrspace(11), !dbg !378 %125 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %124, i32 0, i32 0, !dbg !378 %memory_len58 = load i64, ptr addrspace(11) %125, align 8, !dbg !378, !tbaa !57, !range !59, !alias.scope !53, !noalias !54 %126 = add nuw i64 %memory_len58, %memory_len58, !dbg !378 %127 = add i64 0, %memory_len58, !dbg !378 %memoryref_ovflw59 = icmp uge i64 %127, %126, !dbg !378 %memoryref_data_byteoffset60 = getelementptr i8, ptr %memoryref_data56, i64 0, !dbg !378 %128 = addrspacecast ptr addrspace(10) %memoryref_mem57 to ptr addrspace(11), !dbg !378 %129 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %128, i32 0, i32 0, !dbg !378 %memory_len61 = load i64, ptr addrspace(11) %129, align 8, !dbg !378, !tbaa !57, !range !59, !alias.scope !53, !noalias !54 %130 = addrspacecast ptr addrspace(10) %memoryref_mem57 to ptr addrspace(11), !dbg !378 %memory_data_ptr62 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %130, i32 0, i32 1, !dbg !378 %memory_data63 = load ptr, ptr addrspace(11) %memory_data_ptr62, align 8, !dbg !378, !tbaa !60, !alias.scope !53, !noalias !54, !nonnull !0 %131 = ptrtoint ptr %memory_data63 to i64, !dbg !378 %132 = ptrtoint ptr %memoryref_data_byteoffset60 to i64, !dbg !378 %133 = sub i64 %132, %131, !dbg !378 %memoryref_bytelen64 = mul nuw nsw i64 %memory_len61, 8, !dbg !378 %memoryref_isinbounds65 = icmp ult i64 %133, %memoryref_bytelen64, !dbg !378 %134 = xor i1 %memoryref_ovflw59, true, !dbg !378 %"memoryref_isinbounds¬ovflw66" = and i1 %134, %memoryref_isinbounds65, !dbg !378 br i1 %"memoryref_isinbounds¬ovflw66", label %idxend72, label %oob67, !dbg !378 oob67: ; preds = %idxend54 %"+Core.GenericMemoryRef#3653768" = load ptr, ptr @_Core_GenericMemoryRef_36537, align 8, !dbg !378, !tbaa !18, !alias.scope !147, !noalias !148, !nonnull !0, !dereferenceable !150, !align !55 %GenericMemoryRef69 = ptrtoint ptr %"+Core.GenericMemoryRef#3653768" to i64, !dbg !378 %135 = inttoptr i64 %GenericMemoryRef69 to ptr, !dbg !378 %current_task70 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !378 %136 = addrspacecast ptr %135 to ptr addrspace(10), !dbg !378 %"box::GenericMemoryRef71" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task70, i64 16, ptr addrspace(10) %136) #19, !dbg !378 %137 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef71" to ptr addrspace(11), !dbg !378 store { ptr, ptr addrspace(10) } %.out_old2.ref, ptr addrspace(11) %137, align 8, !dbg !378, !tbaa !185, !alias.scope !189, !noalias !190 %138 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef71" to ptr addrspace(12), !dbg !378 call void @ijl_bounds_error_int(ptr addrspace(12) %138, i64 1), !dbg !378 unreachable, !dbg !378 idxend72: ; preds = %idxend54 %139 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset60, 0, !dbg !378 %memory_ref73 = insertvalue { ptr, ptr addrspace(10) } %139, ptr addrspace(10) %memoryref_mem57, 1, !dbg !378 %140 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem39), !dbg !450 %141 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem57), !dbg !451 %memory_ref55.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref55, 0, !dbg !452 %memory_ref73.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref73, 0, !dbg !452 %.in_now3.size.unbox74 = load i64, ptr %.in_now3.size, align 8, !dbg !454, !tbaa !43, !alias.scope !45, !noalias !46 %142 = mul i64 %.in_now3.size.unbox74, 8, !dbg !454 %143 = lshr i64 %142, 63, !dbg !455 %144 = select i1 false, i64 0, i64 %143, !dbg !455 %145 = trunc i64 %144 to i8, !dbg !455 %146 = icmp eq i8 %145, 1, !dbg !455 %147 = xor i1 %146, true, !dbg !380 br i1 %147, label %L49, label %L47, !dbg !380 after_error79: ; No predecessors! call void @llvm.trap(), !dbg !380 unreachable, !dbg !380 after_noret80: ; No predecessors! call void @llvm.trap(), !dbg !380 unreachable, !dbg !380 after_error82: ; No predecessors! call void @llvm.trap(), !dbg !363 unreachable, !dbg !363 after_noret83: ; No predecessors! call void @llvm.trap(), !dbg !363 unreachable, !dbg !363 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_while), Main.var"#timestepper##2#timestepper##3"{Main.Box, Int64}, Checkpointing.Online_r2{Nothing}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:562 [inlined] [14] box(scheme::Online_r2{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/box_model.jl:175 [15] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:77 [inlined] [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [17] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:71 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [22] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [23] top-level scope @ none:6 [24] eval(m::Module, e::Any) @ Core ./boot.jl:489 [25] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [26] _start() @ Base ./client.jl:577 Multilevel: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:83 Got exception outside of a @test LoadError: AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_for_37030(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#loops##0#loops##1", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(56) %"scheme::Periodic", ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"range::UnitRange") #0 !dbg !10 { top: %0 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !13, !alias.scope !17, !noalias !20 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !25, !alias.scope !27, !noalias !28 %"range::UnitRange.stop_ptr" = getelementptr inbounds i8, ptr addrspace(11) %"range::UnitRange", i32 8, !dbg !29 %"range::UnitRange.stop_ptr.unbox" = load i64, ptr addrspace(11) %"range::UnitRange.stop_ptr", align 8, !dbg !40, !tbaa !25, !alias.scope !27, !noalias !28 %"range::UnitRange.unbox" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !dbg !40, !tbaa !25, !alias.scope !27, !noalias !28 %3 = icmp slt i64 %"range::UnitRange.stop_ptr.unbox", %"range::UnitRange.unbox", !dbg !40 %4 = xor i1 %3, true, !dbg !37 br i1 %4, label %L6, label %L5, !dbg !37 L5: ; preds = %top br label %L9, !dbg !37 L6: ; preds = %top %5 = icmp ne ptr addrspace(11) %"range::UnitRange", null br i1 %5, label %guard_pass, label %guard_exit L9: ; preds = %guard_exit17, %L5 %value_phi = phi i8 [ 1, %L5 ], [ 0, %guard_exit17 ] %value_phi1 = phi i64 [ %guard_res12, %guard_exit17 ], [ undef, %L5 ] %value_phi2 = phi i64 [ %guard_res19, %guard_exit17 ], [ undef, %L5 ] %6 = trunc i8 %value_phi to i1, !dbg !39 %7 = xor i1 %6, true, !dbg !39 %8 = xor i1 %7, true, !dbg !39 br i1 %8, label %L29, label %L9.L14_crit_edge, !dbg !39 L9.L14_crit_edge: ; preds = %L9 br label %L14, !dbg !37 L14: ; preds = %L9.L14_crit_edge, %L28 %value_phi3 = phi i64 [ %value_phi1, %L9.L14_crit_edge ], [ %value_phi6, %L28 ] %value_phi4 = phi i64 [ %value_phi2, %L9.L14_crit_edge ], [ %value_phi7, %L28 ] %9 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !46 store ptr addrspace(10) %2, ptr %9, align 8, !dbg !46 call void @julia__loops__0_37033(ptr addrspace(11) nocapture readonly %"body::#loops##0#loops##1", ptr nocapture readonly %0, i64 signext %value_phi3), !dbg !46 %"range::UnitRange.stop_ptr5" = getelementptr inbounds i8, ptr addrspace(11) %"range::UnitRange", i32 8, !dbg !47 %"range::UnitRange.stop_ptr5.unbox" = load i64, ptr addrspace(11) %"range::UnitRange.stop_ptr5", align 8, !dbg !51, !tbaa !25, !alias.scope !27, !noalias !28 %10 = icmp eq i64 %value_phi4, %"range::UnitRange.stop_ptr5.unbox", !dbg !51 %11 = xor i1 %10, true, !dbg !49 br i1 %11, label %L21, label %L20, !dbg !49 L20: ; preds = %L14 br label %L23, !dbg !49 L21: ; preds = %L14 %12 = add i64 %value_phi4, 1, !dbg !54 br label %L23, !dbg !49 L23: ; preds = %L21, %L20 %value_phi6 = phi i64 [ %12, %L21 ], [ undef, %L20 ] %value_phi7 = phi i64 [ %12, %L21 ], [ undef, %L20 ] %value_phi8 = phi i8 [ 1, %L20 ], [ 0, %L21 ] %13 = trunc i8 %value_phi8 to i1, !dbg !50 %14 = xor i1 %13, true, !dbg !50 %15 = xor i1 %14, true, !dbg !50 br i1 %15, label %L29, label %L28, !dbg !50 L28: ; preds = %L23 br label %L14, !dbg !37 L29: ; preds = %L23, %L9 ret void, !dbg !57 guard_pass: ; preds = %L6 br label %guard_exit guard_exit: ; preds = %guard_pass, %L6 %guard_res = phi i1 [ false, %L6 ], [ true, %guard_pass ] br i1 %guard_res, label %guard_pass9, label %guard_exit10 guard_pass9: ; preds = %guard_exit %"range::UnitRange.unbox11" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !tbaa !25, !alias.scope !27, !noalias !28 br label %guard_exit10 guard_exit10: ; preds = %guard_pass9, %guard_exit %guard_res12 = phi i64 [ undef, %guard_exit ], [ %"range::UnitRange.unbox11", %guard_pass9 ] %16 = icmp ne ptr addrspace(11) %"range::UnitRange", null, !dbg !37 br i1 %16, label %guard_pass13, label %guard_exit14, !dbg !37 guard_pass13: ; preds = %guard_exit10 br label %guard_exit14, !dbg !37 guard_exit14: ; preds = %guard_pass13, %guard_exit10 %guard_res15 = phi i1 [ false, %guard_exit10 ], [ true, %guard_pass13 ], !dbg !37 br i1 %guard_res15, label %guard_pass16, label %guard_exit17, !dbg !37 guard_pass16: ; preds = %guard_exit14 %"range::UnitRange.unbox18" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !dbg !37, !tbaa !25, !alias.scope !27, !noalias !28 br label %guard_exit17, !dbg !37 guard_exit17: ; preds = %guard_pass16, %guard_exit14 %guard_res19 = phi i64 [ undef, %guard_exit14 ], [ %"range::UnitRange.unbox18", %guard_pass16 ], !dbg !37 br label %L9, !dbg !37 } expectLen=3 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_for), Main.var"#loops##0#loops##1"{Main.Chkp, Int64}, Checkpointing.Periodic{Nothing}, UnitRange{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [inlined] [13] autodiff(::ReverseMode{true, false, false, FFIABI, false, false}, ::typeof(loops), ::Type{Active}, ::Duplicated{Chkp}, ::Const{Periodic{Nothing}}, ::Const{Int64}, ::Const{Int64}) @ Enzyme ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:542 [14] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/multilevel.jl:35 [15] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:84 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:84 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [21] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [22] top-level scope @ none:6 [23] eval(m::Module, e::Any) @ Core ./boot.jl:489 [24] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [25] _start() @ Base ./client.jl:577 in expression starting at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/multilevel.jl:35 Revolve: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:88 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_37544(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(56) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(16) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #8 !dbg !180 { top: %pgcstack = call ptr @julia.get_pgcstack() %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !169, !noalias !170 %3 = getelementptr inbounds i8, ptr %.roots.A, i32 8 %4 = load ptr addrspace(10), ptr %3, align 8, !tbaa !23, !alias.scope !169, !noalias !170 %"-Core.BoundsError#37511" = load ptr, ptr @_Core_BoundsError_37511, align 8, !dbg !181, !tbaa !23, !alias.scope !169, !noalias !170, !nonnull !0, !dereferenceable !182, !align !60 %5 = addrspacecast ptr %"-Core.BoundsError#37511" to ptr addrspace(10), !dbg !181 %"+Core.BoundsError#37512" = load ptr, ptr @_Core_BoundsError_37512, align 8, !dbg !181, !tbaa !23, !alias.scope !169, !noalias !170, !nonnull !0, !dereferenceable !171, !align !59 %6 = addrspacecast ptr %"+Core.BoundsError#37512" to ptr addrspace(10), !dbg !181 %"+Main.Base.Broadcast.Broadcasted#37546" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_37546, align 8, !dbg !181, !tbaa !23, !alias.scope !169, !noalias !170, !nonnull !0, !dereferenceable !171, !align !59 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#37546" to i64, !dbg !181 %7 = inttoptr i64 %Broadcasted to ptr, !dbg !181 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !181 %8 = addrspacecast ptr %7 to ptr addrspace(10), !dbg !181 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(56) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 56, ptr addrspace(10) %8) #25, !dbg !181 %9 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !181 %10 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 0, !dbg !181 store atomic ptr addrspace(10) %2, ptr addrspace(11) %10 unordered, align 8, !dbg !181, !tbaa !172, !alias.scope !176, !noalias !177 %11 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !181 %12 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 8, !dbg !181 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %12, ptr addrspace(11) align 8 %11, i64 16, i1 false), !dbg !181, !tbaa !40, !alias.scope !183, !noalias !184 %13 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 24, !dbg !181 store atomic ptr addrspace(10) %4, ptr addrspace(11) %13 unordered, align 8, !dbg !181, !tbaa !172, !alias.scope !176, !noalias !177 %14 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 32, !dbg !181 %15 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 32, !dbg !181 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %15, ptr addrspace(11) align 8 %14, i64 24, i1 false), !dbg !181, !tbaa !40, !alias.scope !183, !noalias !184 %"+Core.Tuple#37513" = load ptr, ptr @_Core_Tuple_37513, align 8, !dbg !181, !tbaa !23, !alias.scope !169, !noalias !170, !nonnull !0, !dereferenceable !171, !align !59 %Tuple = ptrtoint ptr %"+Core.Tuple#37513" to i64, !dbg !181 %16 = inttoptr i64 %Tuple to ptr, !dbg !181 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !181 %17 = addrspacecast ptr %16 to ptr addrspace(10), !dbg !181 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %17) #25, !dbg !181 %18 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !181 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %18, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !181, !tbaa !40, !alias.scope !183, !noalias !184 %19 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %5, ptr addrspace(10) %6, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !181 %20 = addrspacecast ptr addrspace(10) %19 to ptr addrspace(12), !dbg !181 call void @ijl_throw(ptr addrspace(12) %20), !dbg !181 unreachable, !dbg !181 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !181 unreachable, !dbg !181 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !181 unreachable, !dbg !181 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(*), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, typeof(sqrt), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff(::ReverseMode{false, false, false, FFIABI, false, true}, ::Const{typeof(loops)}, ::Type{Active}, ::Duplicated{ChkpOut}, ::Const{Revolve{Nothing}}, ::Const{Int64}) @ Enzyme ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:542 [inlined] [14] output_chkp(scheme::Symbol) @ Main ~/.julia/packages/Checkpointing/ZAoTt/test/output_chkp.jl:32 [15] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:89 [inlined] [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [17] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:88 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:87 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [22] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [23] top-level scope @ none:6 [24] eval(m::Module, e::Any) @ Core ./boot.jl:489 [25] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [26] _start() @ Base ./client.jl:577 Periodic: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:88 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_37777(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(56) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(16) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #9 !dbg !283 { top: %pgcstack = call ptr @julia.get_pgcstack() %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !66 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !160 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !160, !alias.scope !162, !noalias !163 %3 = getelementptr inbounds i8, ptr %.roots.A, i32 8 %4 = load ptr addrspace(10), ptr %3, align 8, !tbaa !160, !alias.scope !162, !noalias !163 %"-Core.BoundsError#37744" = load ptr, ptr @_Core_BoundsError_37744, align 8, !dbg !284, !tbaa !160, !alias.scope !162, !noalias !163, !nonnull !0, !dereferenceable !285, !align !80 %5 = addrspacecast ptr %"-Core.BoundsError#37744" to ptr addrspace(10), !dbg !284 %"+Core.BoundsError#37745" = load ptr, ptr @_Core_BoundsError_37745, align 8, !dbg !284, !tbaa !160, !alias.scope !162, !noalias !163, !nonnull !0, !dereferenceable !164, !align !115 %6 = addrspacecast ptr %"+Core.BoundsError#37745" to ptr addrspace(10), !dbg !284 %"+Main.Base.Broadcast.Broadcasted#37779" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_37779, align 8, !dbg !284, !tbaa !160, !alias.scope !162, !noalias !163, !nonnull !0, !dereferenceable !164, !align !115 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#37779" to i64, !dbg !284 %7 = inttoptr i64 %Broadcasted to ptr, !dbg !284 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !284 %8 = addrspacecast ptr %7 to ptr addrspace(10), !dbg !284 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(56) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 56, ptr addrspace(10) %8) #25, !dbg !284 %9 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !284 %10 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 0, !dbg !284 store atomic ptr addrspace(10) %2, ptr addrspace(11) %10 unordered, align 8, !dbg !284, !tbaa !165, !alias.scope !77, !noalias !78 %11 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !284 %12 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 8, !dbg !284 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %12, ptr addrspace(11) align 8 %11, i64 16, i1 false), !dbg !284, !tbaa !51, !alias.scope !286, !noalias !287 %13 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 24, !dbg !284 store atomic ptr addrspace(10) %4, ptr addrspace(11) %13 unordered, align 8, !dbg !284, !tbaa !165, !alias.scope !77, !noalias !78 %14 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 32, !dbg !284 %15 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 32, !dbg !284 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %15, ptr addrspace(11) align 8 %14, i64 24, i1 false), !dbg !284, !tbaa !51, !alias.scope !286, !noalias !287 %"+Core.Tuple#37746" = load ptr, ptr @_Core_Tuple_37746, align 8, !dbg !284, !tbaa !160, !alias.scope !162, !noalias !163, !nonnull !0, !dereferenceable !164, !align !115 %Tuple = ptrtoint ptr %"+Core.Tuple#37746" to i64, !dbg !284 %16 = inttoptr i64 %Tuple to ptr, !dbg !284 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !284 %17 = addrspacecast ptr %16 to ptr addrspace(10), !dbg !284 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %17) #25, !dbg !284 %18 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !284 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %18, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !284, !tbaa !51, !alias.scope !286, !noalias !287 %19 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %5, ptr addrspace(10) %6, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !284 %20 = addrspacecast ptr addrspace(10) %19 to ptr addrspace(12), !dbg !284 call void @ijl_throw(ptr addrspace(12) %20), !dbg !284 unreachable, !dbg !284 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !284 unreachable, !dbg !284 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !284 unreachable, !dbg !284 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(*), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, typeof(sqrt), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff(::ReverseMode{false, false, false, FFIABI, false, true}, ::Const{typeof(loops)}, ::Type{Active}, ::Duplicated{ChkpOut}, ::Const{Periodic{Nothing}}, ::Const{Int64}) @ Enzyme ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:502 [13] autodiff @ ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:542 [inlined] [14] output_chkp(scheme::Symbol) @ Main ~/.julia/packages/Checkpointing/ZAoTt/test/output_chkp.jl:32 [15] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:89 [inlined] [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [17] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:88 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:87 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [22] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [23] top-level scope @ none:6 [24] eval(m::Module, e::Any) @ Core ./boot.jl:489 [25] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [26] _start() @ Base ./client.jl:577 Test Summary: | Pass Error Total Time Checkpointing.jl | 5 18 23 5m26.1s Enzyme... | 2 1 3 4m52.2s Revolve... | 3 3 2.0s Testing optcontrol... | 2 2 6.5s scheme = Revolve | 1 1 5.1s scheme = Periodic | 1 1 1.2s Testing heat example | 9 9 8.2s Revolve | 2 2 3.4s Revolve with verbose=0 | 1 1 1.1s Revolve with verbose=1 | 1 1 2.3s Periodic | 2 2 0.8s Periodic with verbose=0 | 1 1 0.7s Periodic with verbose=1 | 1 1 0.2s Online_r2 | 2 2 1.1s Online_r2 with verbose=0 | 1 1 1.0s Online_r2 with verbose=1 | 1 1 0.2s Testing HDF5 storage using heat example | 3 3 2.8s Revolve | 1 1 2.0s Periodic | 1 1 0.5s Online_r2 | 1 1 0.3s Test box model example | 3 3 9.7s Revolve | 1 1 5.1s Periodic | 1 1 3.0s Online_r2 | 1 1 1.4s Multilevel | 1 1 4.1s Test writing checkpoints out | 2 2 3.4s Revolve | 1 1 2.7s Periodic | 1 1 0.7s RNG of the outermost testset: Random.Xoshiro(0x3c17c7f81afd39ca, 0x388b65750ca8f5e2, 0x23e0feb9d85767c8, 0x25d90d8db395e63f, 0xa20e50d863c66e11) ERROR: LoadError: Some tests did not pass: 5 passed, 0 failed, 18 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:6 Testing failed after 408.33s ERROR: LoadError: Package Checkpointing errored during testing Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Types.jl:68 [2] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool) @ Pkg.Operations /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:2946 [3] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:2795 [inlined] [4] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::@Kwargs{io::IOContext{IO}}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:572 [5] kwcall(::@NamedTuple{julia_args::Cmd, io::IOContext{IO}}, ::typeof(Pkg.API.test), ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:548 [6] test(pkgs::Vector{PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:172 [7] kwcall(::@NamedTuple{julia_args::Cmd}, ::typeof(Pkg.API.test), pkgs::Vector{PackageSpec}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:161 [8] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [9] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [inlined] [10] kwcall(::@NamedTuple{julia_args::Cmd}, ::typeof(Pkg.API.test), pkg::String) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:159 [11] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:219 [12] include(mod::Module, _path::String) @ Base ./Base.jl:309 [13] exec_options(opts::Base.JLOptions) @ Base ./client.jl:344 [14] _start() @ Base ./client.jl:577 in expression starting at /PkgEval.jl/scripts/evaluate.jl:210 PkgEval failed after 513.75s: package tests unexpectedly errored