Package evaluation to test VLBIImagePriors on Julia 1.14.0-DEV.30 (073666df8b*) started at 2025-11-04T20:37:51.316 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 10.23s ################################################################################ # Installation # Installing VLBIImagePriors... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [b1ba175b] + VLBIImagePriors v0.10.3 Updating `~/.julia/environments/v1.14/Manifest.toml` [621f4979] + AbstractFFTs v1.5.0 [7d9f7c33] + Accessors v0.1.42 [79e6a3ab] + Adapt v4.4.0 [66dad0bd] + AliasTables v1.1.3 [dce04be8] + ArgCheck v2.5.0 [4fba245c] + ArrayInterface v7.22.0 [0e736298] + Bessels v0.2.8 [d360d2e6] + ChainRulesCore v1.26.0 [bbf7d656] + CommonSubexpressions v0.3.1 [f70d9fcc] + CommonWorldInvalidations v1.0.0 [34da2185] + Compat v4.18.1 [b0b7db55] + ComponentArrays v0.15.30 [a33af91c] + CompositionsBase v0.1.2 [6d8c423b] + ComradeBase v0.9.4 [187b0558] + ConstructionBase v1.6.0 [9a962f9c] + DataAPI v1.16.0 [864edb3b] + DataStructures v0.19.2 [e2d170a0] + DataValueInterfaces v1.0.0 [b429d917] + DensityInterface v0.4.0 [163ba53b] + DiffResults v1.1.0 [b552c78f] + DiffRules v1.15.1 [0703355e] + DimensionalData v0.29.24 [31c24e10] + Distributions v0.25.122 [ffbed154] + DocStringExtensions v0.9.5 [f151be2c] + EnzymeCore v0.8.15 [411431e0] + Extents v0.1.6 [7a1cc6ca] + FFTW v1.10.0 [1a297f60] + FillArrays v1.14.0 [f6369f11] + ForwardDiff v1.2.2 [d9f16b24] + Functors v0.5.2 [9ec9aee3] + HypercubeTransform v0.4.13 [34004b35] + HypergeometricFunctions v0.3.28 [615f187c] + IfElse v0.1.1 [85a1e053] + Interfaces v0.3.2 [8197267c] + IntervalSets v0.7.11 [3587e190] + InverseFunctions v0.1.17 [41ab1584] + InvertedIndices v1.3.1 [92d709cd] + IrrationalConstants v0.2.6 [82899510] + IteratorInterfaceExtensions v1.0.0 [692b3bcd] + JLLWrappers v1.7.1 [2ab3a3ac] + LogExpFunctions v0.3.29 [1914dd2f] + MacroTools v0.5.16 [e1d29d7a] + Missings v1.2.0 [77ba4419] + NaNMath v1.1.3 [d9ec5142] + NamedTupleTools v0.14.3 [bac558e1] + OrderedCollections v1.8.1 [90014a1f] + PDMats v0.11.36 [d3c5d4cd] + PolarizedTypes v0.1.2 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.0 [43287f4e] + PtrArrays v1.3.0 [1fd47b50] + QuadGK v2.11.2 [3cdcf5f2] + RecipesBase v1.3.4 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [79098fc4] + Rmath v0.9.0 [431bcebd] + SciMLPublic v1.0.0 [a2af1166] + SortingAlgorithms v1.2.2 [276daf66] + SpecialFunctions v2.6.1 [aedffcd0] + Static v1.3.1 [0d7ed370] + StaticArrayInterface v1.8.0 [90137ffa] + StaticArrays v1.9.15 [1e83bf80] + StaticArraysCore v1.4.4 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.7.1 [2913bbd2] + StatsBase v0.34.7 [4c63d2b9] + StatsFuns v1.5.2 [09ab397b] + StructArrays v0.7.2 [3783bdb8] + TableTraits v1.0.1 [bd369af6] + Tables v1.12.1 [84d833dd] + TransformVariables v0.8.17 [410a4b4d] + Tricks v0.1.13 [b1ba175b] + VLBIImagePriors v0.10.3 [f5851436] + FFTW_jll v3.3.11+0 [1d5cc7b8] + IntelOpenMP_jll v2025.2.0+0 [856f044c] + MKL_jll v2025.2.0+0 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 [f50d1b31] + Rmath_jll v0.5.1+0 [1317d2d5] + oneTBB_jll v2022.0.0+1 [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 [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 [4607b0f0] + SuiteSparse [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.9.9 [4536629a] + OpenBLAS_jll v0.3.29+0 [05823500] + OpenLibm_jll v0.8.7+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.67.1+0 [3f19e933] + p7zip_jll v17.6.0+0 Installation completed after 6.42s ################################################################################ # 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... 3999.5 ms ✓ PolarizedTypes 3000.9 ms ✓ DimensionalData → DimensionalDataStatsBase 4007.3 ms ✓ TransformVariables 7565.6 ms ✓ ComradeBase 2365.0 ms ✓ TransformVariables → InverseFunctionsExt 8270.1 ms ✓ HypercubeTransform 3218.9 ms ✓ ComradeBase → ComradeBaseAdaptExt 10589.0 ms ✓ VLBIImagePriors 8 dependencies successfully precompiled in 46 seconds. 157 already precompiled. Precompilation completed after 57.23s ################################################################################ # Testing # Testing VLBIImagePriors Status `/tmp/jl_t7E5qd/Project.toml` [d360d2e6] ChainRulesCore v1.26.0 [cdddcdb0] ChainRulesTestUtils v1.13.1 [6d8c423b] ComradeBase v0.9.4 [31c24e10] Distributions v0.25.122 [bbc10e6e] DynamicHMC v3.5.1 [7da242da] Enzyme v0.13.96 [12d8515a] EnzymeTestUtils v0.2.5 [7a1cc6ca] FFTW v1.10.0 [26cc04aa] FiniteDifferences v0.12.33 [9ec9aee3] HypercubeTransform v0.4.13 [6fdf6af0] LogDensityProblems v2.2.0 [996a588d] LogDensityProblemsAD v1.13.1 [10745b16] Statistics v1.11.1 [84d833dd] TransformVariables v0.8.17 [b1ba175b] VLBIImagePriors v0.10.3 [e88e6eb3] Zygote v0.7.10 [37e2e46d] LinearAlgebra v1.13.0 [9e88b42a] Serialization v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_t7E5qd/Manifest.toml` [621f4979] AbstractFFTs v1.5.0 [7d9f7c33] Accessors v0.1.42 [79e6a3ab] Adapt v4.4.0 [66dad0bd] AliasTables v1.1.3 [dce04be8] ArgCheck v2.5.0 [4fba245c] ArrayInterface v7.22.0 [0e736298] Bessels v0.2.8 [fa961155] CEnum v0.5.0 [082447d4] ChainRules v1.72.6 [d360d2e6] ChainRulesCore v1.26.0 [cdddcdb0] ChainRulesTestUtils v1.13.1 [bbf7d656] CommonSubexpressions v0.3.1 [f70d9fcc] CommonWorldInvalidations v1.0.0 [34da2185] Compat v4.18.1 [b0b7db55] ComponentArrays v0.15.30 [a33af91c] CompositionsBase v0.1.2 [6d8c423b] ComradeBase v0.9.4 [187b0558] ConstructionBase v1.6.0 [9a962f9c] DataAPI v1.16.0 [864edb3b] DataStructures v0.19.2 [e2d170a0] DataValueInterfaces v1.0.0 [b429d917] DensityInterface v0.4.0 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.15.1 [0703355e] DimensionalData v0.29.24 [31c24e10] Distributions v0.25.122 [ffbed154] DocStringExtensions v0.9.5 [bbc10e6e] DynamicHMC v3.5.1 [7da242da] Enzyme v0.13.96 [f151be2c] EnzymeCore v0.8.15 [12d8515a] EnzymeTestUtils v0.2.5 [e2ba6199] ExprTools v0.1.10 [411431e0] Extents v0.1.6 [7a1cc6ca] FFTW v1.10.0 [1a297f60] FillArrays v1.14.0 [26cc04aa] FiniteDifferences v0.12.33 [f6369f11] ForwardDiff v1.2.2 [d9f16b24] Functors v0.5.2 [46192b85] GPUArraysCore v0.2.0 [61eb1bfa] GPUCompiler v1.7.2 [9ec9aee3] HypercubeTransform v0.4.13 [34004b35] HypergeometricFunctions v0.3.28 [7869d1d1] IRTools v0.4.15 [615f187c] IfElse v0.1.1 [85a1e053] Interfaces v0.3.2 [8197267c] IntervalSets v0.7.11 [3587e190] InverseFunctions v0.1.17 [41ab1584] InvertedIndices v1.3.1 [92d709cd] IrrationalConstants v0.2.6 [82899510] IteratorInterfaceExtensions v1.0.0 [692b3bcd] JLLWrappers v1.7.1 [929cbde3] LLVM v9.4.4 [1fad7336] LazyStack v0.1.3 [6fdf6af0] LogDensityProblems v2.2.0 [996a588d] LogDensityProblemsAD v1.13.1 [2ab3a3ac] LogExpFunctions v0.3.29 [1914dd2f] MacroTools v0.5.16 [e1d29d7a] Missings v1.2.0 [77ba4419] NaNMath v1.1.3 [d9ec5142] NamedTupleTools v0.14.3 [d8793406] ObjectFile v0.5.0 [bac558e1] OrderedCollections v1.8.1 [90014a1f] PDMats v0.11.36 [65ce6f38] PackageExtensionCompat v1.0.2 [d3c5d4cd] PolarizedTypes v0.1.2 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.0 [92933f4c] ProgressMeter v1.11.0 [43287f4e] PtrArrays v1.3.0 [1fd47b50] QuadGK v2.11.2 [c1ae055f] RealDot v0.1.0 [3cdcf5f2] RecipesBase v1.3.4 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [708f8203] Richardson v1.4.2 [79098fc4] Rmath v0.9.0 [431bcebd] SciMLPublic v1.0.0 [6c6a2e73] Scratch v1.3.0 [a2af1166] SortingAlgorithms v1.2.2 [dc90abb0] SparseInverseSubset v0.1.2 [276daf66] SpecialFunctions v2.6.1 [aedffcd0] Static v1.3.1 [0d7ed370] StaticArrayInterface v1.8.0 [90137ffa] StaticArrays v1.9.15 [1e83bf80] StaticArraysCore v1.4.4 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.7.1 [2913bbd2] StatsBase v0.34.7 [4c63d2b9] StatsFuns v1.5.2 [5e0ebb24] Strided v2.3.2 [4db3bf67] StridedViews v0.4.1 [09ab397b] StructArrays v0.7.2 [53d494c1] StructIO v0.3.1 [fd094767] Suppressor v0.2.8 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.12.1 [02d47bb6] TensorCast v0.4.9 [e689c965] Tracy v0.1.6 [84d833dd] TransformVariables v0.8.17 [24ddb15e] TransmuteDims v0.1.17 [410a4b4d] Tricks v0.1.13 [9d95972d] TupleTools v1.6.0 [b1ba175b] VLBIImagePriors v0.10.3 [e88e6eb3] Zygote v0.7.10 [700de1a5] ZygoteRules v0.2.7 [7cc45869] Enzyme_jll v0.0.207+0 [f5851436] FFTW_jll v3.3.11+0 [1d5cc7b8] IntelOpenMP_jll v2025.2.0+0 [dad2f222] LLVMExtra_jll v0.0.38+0 [ad6e5548] LibTracyClient_jll v0.9.1+6 [856f044c] MKL_jll v2025.2.0+0 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [f50d1b31] Rmath_jll v0.5.1+0 [1317d2d5] oneTBB_jll v2022.0.0+1 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed 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 [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 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.11.0 [4607b0f0] SuiteSparse [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.9.9 [4536629a] OpenBLAS_jll v0.3.29+0 [05823500] OpenLibm_jll v0.8.7+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.67.1+0 [3f19e933] p7zip_jll v17.6.0+0 Testing Running tests... ┌ Warning: inference tests have been disabled └ @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/global_config.jl:13 test_rrule: lcol on CenteredRegularizer{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, Float64, ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}},Matrix{Float64}: Error During Test at /home/pkgeval/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:202 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(typ::LLVM.PointerType) @ LLVM ~/.julia/packages/LLVM/iza6e/src/core/type.jl:293 [3] lower_convention(functy::Type, mod::LLVM.Module, entry_f::LLVM.Function, actualRetType::Type, RetActivity::Type, TT::Union{Nothing, Type}, run_enzyme::Bool, world::UInt64) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:3773 [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:4725 [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:542 [inlined] [14] (::VLBIImagePriorsEnzymeExt.var"#_lcol_pullback#_lcol_pullback##0"{CenteredRegularizer{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, Float64, ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}, Matrix{Float64}, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}})(Δ::Float64) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:14 [15] _test_inferred(f::Any, args::Any; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:265 [16] _test_inferred @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:263 [inlined] [17] macro expansion @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:220 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, testset_name::Any, kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:205 [20] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:181 [21] test_rrule(::Any, ::Vararg{Any}; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:178 [22] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:177 [23] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/centereg.jl:2 [24] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [25] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/centereg.jl:9 [inlined] [26] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [27] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [28] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [29] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:18 [inlined] [30] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [31] top-level scope @ none:6 [32] eval(m::Module, e::Any) @ Core ./boot.jl:489 [33] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [34] _start() @ Base ./client.jl:577 ImageUniform: Error During Test at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/imagepriors.jl:1 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(typ::LLVM.PointerType) @ LLVM ~/.julia/packages/LLVM/iza6e/src/core/type.jl:293 [3] lower_convention(functy::Type, mod::LLVM.Module, entry_f::LLVM.Function, actualRetType::Type, RetActivity::Type, TT::Union{Nothing, Type}, run_enzyme::Bool, world::UInt64) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:3773 [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:4725 [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:542 [inlined] [14] (::VLBIImagePriorsEnzymeExt.var"#_transform_with_array#_transform_with_array##0"{TransformVariables.LogJac, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}, Vector{Float64}, Int64})(Δ::Tangent{Any, Tuple{ZeroTangent, Float64, ZeroTangent}}) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:36 [15] (::Zygote.ZBack{VLBIImagePriorsEnzymeExt.var"#_transform_with_array#_transform_with_array##0"{TransformVariables.LogJac, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}, Vector{Float64}, Int64}})(dy::Tuple{Nothing, Float64, Nothing}) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/chainrules.jl:222 [16] transform_and_logjac @ ~/.julia/packages/TransformVariables/TxqN0/src/generic.jl:280 [inlined] [17] (::Zygote.Pullback{Tuple{typeof(transform_and_logjac), TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}, Vector{Float64}}, Any})(Δ::Tuple{Nothing, Float64}) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:0 [18] ℓpt @ ~/.julia/packages/VLBIImagePriors/czA3i/test/imagepriors.jl:19 [inlined] [19] (::Zygote.Pullback{Tuple{var"#ℓpt#ℓpt##0"{Base.Fix1{typeof(logdensityof), ImageUniform{Float64}}, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}}, Vector{Float64}}, Tuple{Zygote.var"#back#_pullback##1"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 2, Zygote.Context{false}, Float64}}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Matrix{Float64}}}, Zygote.var"#559#560"{Zygote.Pullback{Tuple{Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, Matrix{Float64}}, Tuple{Zygote.Pullback{Tuple{typeof(logdensityof), ImageUniform{Float64}, Matrix{Float64}}, Tuple{Zygote.Pullback{Tuple{typeof(logpdf), ImageUniform{Float64}, Matrix{Float64}}, Any}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:x, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, ImageUniform{Float64}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:f, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, typeof(logdensityof)}}}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:t, Zygote.Context{false}, var"#ℓpt#ℓpt##0"{Base.Fix1{typeof(logdensityof), ImageUniform{Float64}}, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}}, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Float64}}, Zygote.var"#back#_pullback##0"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Matrix{Float64}}}}, Zygote.ZBack{Zygote.var"#plus_pullback#plus_pullback##0"{Tuple{Float64, Float64}}}, Zygote.Pullback{Tuple{typeof(transform_and_logjac), TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}, Vector{Float64}}, Any}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 2, Zygote.Context{false}, Int64}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:ℓ, Zygote.Context{false}, var"#ℓpt#ℓpt##0"{Base.Fix1{typeof(logdensityof), ImageUniform{Float64}}, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}}, Base.Fix1{typeof(logdensityof), ImageUniform{Float64}}}}}})(Δ::Float64) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:0 [20] (::Zygote.var"#pullback##0#pullback##1"{Zygote.Pullback{Tuple{var"#ℓpt#ℓpt##0"{Base.Fix1{typeof(logdensityof), ImageUniform{Float64}}, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}}, Vector{Float64}}, Tuple{Zygote.var"#back#_pullback##1"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 2, Zygote.Context{false}, Float64}}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Matrix{Float64}}}, Zygote.var"#559#560"{Zygote.Pullback{Tuple{Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, Matrix{Float64}}, Tuple{Zygote.Pullback{Tuple{typeof(logdensityof), ImageUniform{Float64}, Matrix{Float64}}, Tuple{Zygote.Pullback{Tuple{typeof(logpdf), ImageUniform{Float64}, Matrix{Float64}}, Any}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:x, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, ImageUniform{Float64}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:f, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, typeof(logdensityof)}}}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:t, Zygote.Context{false}, var"#ℓpt#ℓpt##0"{Base.Fix1{typeof(logdensityof), ImageUniform{Float64}}, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}}, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Float64}}, Zygote.var"#back#_pullback##0"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Matrix{Float64}}}}, Zygote.ZBack{Zygote.var"#plus_pullback#plus_pullback##0"{Tuple{Float64, Float64}}}, Zygote.Pullback{Tuple{typeof(transform_and_logjac), TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}, Vector{Float64}}, Any}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 2, Zygote.Context{false}, Int64}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:ℓ, Zygote.Context{false}, var"#ℓpt#ℓpt##0"{Base.Fix1{typeof(logdensityof), ImageUniform{Float64}}, TransformVariables.ArrayTransformation{TransformVariables.CompositeScalarTransform{Tuple{TransformVariables.TVShift{Float64}, TransformVariables.TVScale{Float64}, TransformVariables.TVLogistic}}, 2}}, Base.Fix1{typeof(logdensityof), ImageUniform{Float64}}}}}}})(Δ::Float64) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface.jl:97 [21] gradient(f::Function, args::Vector{Float64}) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface.jl:154 [22] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/imagepriors.jl:2 [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/imagepriors.jl:24 [inlined] [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [27] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [28] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:19 [inlined] [29] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [30] top-level scope @ none:6 [31] eval(m::Module, e::Any) @ Core ./boot.jl:489 [32] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [33] _start() @ Base ./client.jl:577 ImageDirichlet: Error During Test at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/imagepriors.jl:50 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:542 [inlined] [16] (::VLBIImagePriorsEnzymeExt.var"#_simplex_fwd_pullback#_simplex_fwd_pullback##0"{TransformVariables.LogJac, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}}}}, Vector{Float64}})(ΔX::Vector{Float64}) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:75 [17] (::Zygote.ZBack{VLBIImagePriorsEnzymeExt.var"#_simplex_fwd_pullback#_simplex_fwd_pullback##0"{TransformVariables.LogJac, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}}}}, Vector{Float64}}})(dy::Vector{Float64}) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/chainrules.jl:222 [18] transform_with @ ~/.julia/packages/VLBIImagePriors/czA3i/src/imagesimplex.jl:99 [inlined] [19] (::Zygote.Pullback{Tuple{typeof(TransformVariables.transform_with), TransformVariables.LogJac, VLBIImagePriors.ImageSimplex, Vector{Float64}, Int64}, Any})(Δ::Tuple{Thunk{ComposedFunction{ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}, VLBIImagePriors.var"#_dirichlet_lpdf_pullback##3#_dirichlet_lpdf_pullback##4"{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}}}, Float64, Nothing}) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:0 [20] transform_and_logjac @ ~/.julia/packages/TransformVariables/TxqN0/src/generic.jl:280 [inlined] [21] (::Zygote.Pullback{Tuple{typeof(transform_and_logjac), VLBIImagePriors.ImageSimplex, Vector{Float64}}, Any})(Δ::Tuple{Thunk{ComposedFunction{ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}, VLBIImagePriors.var"#_dirichlet_lpdf_pullback##3#_dirichlet_lpdf_pullback##4"{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}}}, Float64}) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:0 [22] ℓpt @ ~/.julia/packages/VLBIImagePriors/czA3i/test/imagepriors.jl:80 [inlined] [23] (::Zygote.Pullback{Tuple{var"#ℓpt#ℓpt##1"{Base.Fix1{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}, VLBIImagePriors.ImageSimplex}, Vector{Float64}}, Tuple{Zygote.var"#back#_pullback##1"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 2, Zygote.Context{false}, Float64}}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}}, Zygote.var"#559#560"{Zygote.Pullback{Tuple{Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, typeof(logdensityof)}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}, Tuple{Zygote.Pullback{Tuple{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}, Tuple{Zygote.Pullback{Tuple{typeof(logpdf), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}, Any}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:x, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, typeof(logdensityof)}, ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:f, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, typeof(logdensityof)}, typeof(logdensityof)}}}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:t2, Zygote.Context{false}, var"#ℓpt#ℓpt##1"{Base.Fix1{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}, VLBIImagePriors.ImageSimplex}, VLBIImagePriors.ImageSimplex}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Float64}}, Zygote.var"#back#_pullback##0"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}}}, Zygote.ZBack{Zygote.var"#plus_pullback#plus_pullback##0"{Tuple{Float64, Float64}}}, Zygote.Pullback{Tuple{typeof(transform_and_logjac), VLBIImagePriors.ImageSimplex, Vector{Float64}}, Any}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 2, Zygote.Context{false}, Int64}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:ℓ2, Zygote.Context{false}, var"#ℓpt#ℓpt##1"{Base.Fix1{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}, VLBIImagePriors.ImageSimplex}, Base.Fix1{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}}}}})(Δ::Float64) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:0 [24] (::Zygote.var"#pullback##0#pullback##1"{Zygote.Pullback{Tuple{var"#ℓpt#ℓpt##1"{Base.Fix1{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}, VLBIImagePriors.ImageSimplex}, Vector{Float64}}, Tuple{Zygote.var"#back#_pullback##1"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 2, Zygote.Context{false}, Float64}}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}}, Zygote.var"#559#560"{Zygote.Pullback{Tuple{Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, typeof(logdensityof)}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}, Tuple{Zygote.Pullback{Tuple{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}, Tuple{Zygote.Pullback{Tuple{typeof(logpdf), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}, Any}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:x, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, typeof(logdensityof)}, ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:f, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}, typeof(logdensityof)}, typeof(logdensityof)}}}}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:t2, Zygote.Context{false}, var"#ℓpt#ℓpt##1"{Base.Fix1{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}, VLBIImagePriors.ImageSimplex}, VLBIImagePriors.ImageSimplex}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Float64}}, Zygote.var"#back#_pullback##0"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, Tuple{}}}}}, Zygote.ZBack{Zygote.var"#plus_pullback#plus_pullback##0"{Tuple{Float64, Float64}}}, Zygote.Pullback{Tuple{typeof(transform_and_logjac), VLBIImagePriors.ImageSimplex, Vector{Float64}}, Any}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 2, Zygote.Context{false}, Int64}}, Zygote.var"#389#390"{Zygote.var"#back#back##9"{:ℓ2, Zygote.Context{false}, var"#ℓpt#ℓpt##1"{Base.Fix1{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}, VLBIImagePriors.ImageSimplex}, Base.Fix1{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}}}}}})(Δ::Float64) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface.jl:97 [25] (::Zygote.var"#97#98"{var"#ℓpt#ℓpt##1"{Base.Fix1{typeof(logdensityof), ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}}, VLBIImagePriors.ImageSimplex}})(x::Vector{Float64}) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface.jl:161 [26] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/imagepriors.jl:51 [27] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [28] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/imagepriors.jl:84 [inlined] [29] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [30] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [31] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [32] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:19 [inlined] [33] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [34] top-level scope @ none:6 [35] eval(m::Module, e::Any) @ Core ./boot.jl:489 [36] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [37] _start() @ Base ./client.jl:577 GaussMarkovRandomField( Graph: MarkovRandomFieldGraph{1}( dims: (10, 8) ) Correlation Parameter: 3.0 )ConditionalMarkov( Random Field: GaussMarkovRandomField{Float64, MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}} Graph: MarkovRandomFieldGraph{1}( dims: (10, 8) ) ) test_rrule: sq_manoblis on MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}},Matrix{Float64},Float64: Error During Test at /home/pkgeval/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:202 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define double @julia_sq_manoblis_63259(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(56) %"d::MarkovRandomFieldGraph", ptr nocapture noundef nonnull readonly align 8 dereferenceable(40) %.roots.d, ptr addrspace(10) noundef nonnull align 8 dereferenceable(32) %"\CE\94I::Array", double %"\CF\81::Float64") #11 !dbg !442 { top: %.size = alloca [2 x i64], align 8 %"new::Tuple" = alloca [1 x i64], align 8 %pgcstack = call ptr @julia.get_pgcstack() %0 = getelementptr inbounds i8, ptr %.roots.d, i32 0 %1 = load ptr addrspace(10), ptr %0, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %2 = getelementptr inbounds i8, ptr %.roots.d, i32 8 %3 = load ptr addrspace(10), ptr %2, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %4 = getelementptr inbounds i8, ptr %.roots.d, i32 16 %5 = load ptr addrspace(10), ptr %4, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %6 = getelementptr inbounds i8, ptr %.roots.d, i32 24 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %8 = getelementptr inbounds i8, ptr %.roots.d, i32 32 %9 = load ptr addrspace(10), ptr %8, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %10 = fdiv double 1.000000e+00, %"\CF\81::Float64", !dbg !443 %11 = fmul double %10, %10, !dbg !451 %12 = call double @julia_igmrf_1n_63269(ptr addrspace(10) %"\CE\94I::Array", double %11), !dbg !456 br i1 false, label %L21, label %L7, !dbg !457 L7: ; preds = %top %13 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !463 %.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !463 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.size, ptr addrspace(11) align 8 %.size_ptr, i64 16, i1 false), !dbg !463, !tbaa !25, !alias.scope !26, !noalias !30 %".size[2]_ptr" = getelementptr inbounds i8, ptr %.size, i32 8, !dbg !470 %.size.unbox = load i64, ptr %.size, align 8, !dbg !472, !tbaa !50, !alias.scope !52, !noalias !53 %".size[2]_ptr.unbox" = load i64, ptr %".size[2]_ptr", align 8, !dbg !472, !tbaa !50, !alias.scope !52, !noalias !53 %14 = mul i64 %.size.unbox, %".size[2]_ptr.unbox", !dbg !472 %15 = icmp ult i64 0, %14, !dbg !467 %16 = xor i1 %15, true, !dbg !469 br i1 %16, label %L17, label %L16, !dbg !469 L16: ; preds = %L7 br label %L20, !dbg !469 L17: ; preds = %L7 %17 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !469 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !469, !tbaa !25, !alias.scope !474, !noalias !475 %18 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !469 call void @julia_throw_boundserror_63264(ptr addrspace(10) %9, ptr addrspace(11) nocapture readonly %18) #13, !dbg !469 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_5), !dbg !469 unreachable, !dbg !469 L20: ; preds = %L16 br label %L21, !dbg !469 L21: ; preds = %L20, %top br label %L22, !dbg !469 L22: ; preds = %L21 br label %L23, !dbg !469 L23: ; preds = %L22 %19 = fadd double %11, 1.000000e+00, !dbg !476 br label %L25, !dbg !480 L25: ; preds = %L23 %20 = fdiv double %12, %19, !dbg !481 ret double %20, !dbg !456 after_error: ; No predecessors! call void @llvm.trap(), !dbg !469 unreachable, !dbg !469 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !469 unreachable, !dbg !469 } expectLen=3 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(VLBIImagePriors.sq_manoblis), MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}, Matrix{Float64}, Float64) 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:542 [inlined] [14] (::VLBIImagePriorsEnzymeExt.var"#_sq_manoblis_pullback#_sq_manoblis_pullback##0"{MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}, Matrix{Float64}, Float64, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}})(Δ::Float64) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:52 [15] _test_inferred(f::Any, args::Any; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:265 [16] _test_inferred @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:263 [inlined] [17] macro expansion @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:220 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, testset_name::Any, kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:205 [20] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:181 [21] test_rrule(::Any, ::Vararg{Any}; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:178 [22] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:177 [23] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:25 [24] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [25] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:52 [inlined] [26] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [27] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:53 [inlined] [28] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [29] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:70 [inlined] [30] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [31] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [32] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [33] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:20 [inlined] [34] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [35] top-level scope @ none:6 [36] eval(m::Module, e::Any) @ Core ./boot.jl:489 [37] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [38] _start() @ Base ./client.jl:577 test_rrule: sq_manoblis on MarkovRandomFieldGraph{2, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}},Matrix{Float64},Float64: Error During Test at /home/pkgeval/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:202 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define double @julia_sq_manoblis_63608(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(56) %"d::MarkovRandomFieldGraph", ptr nocapture noundef nonnull readonly align 8 dereferenceable(40) %.roots.d, ptr addrspace(10) noundef nonnull align 8 dereferenceable(32) %"\CE\94I::Array", double %"\CF\81::Float64") #11 !dbg !398 { top: %.size = alloca [2 x i64], align 8 %"new::Tuple" = alloca [1 x i64], align 8 %pgcstack = call ptr @julia.get_pgcstack() %0 = getelementptr inbounds i8, ptr %.roots.d, i32 0 %1 = load ptr addrspace(10), ptr %0, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %2 = getelementptr inbounds i8, ptr %.roots.d, i32 8 %3 = load ptr addrspace(10), ptr %2, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %4 = getelementptr inbounds i8, ptr %.roots.d, i32 16 %5 = load ptr addrspace(10), ptr %4, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %6 = getelementptr inbounds i8, ptr %.roots.d, i32 24 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %8 = getelementptr inbounds i8, ptr %.roots.d, i32 32 %9 = load ptr addrspace(10), ptr %8, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %10 = fdiv double 1.000000e+00, %"\CF\81::Float64", !dbg !399 %11 = fmul double 0x4006A09E667F3BCD, %10, !dbg !407 %12 = fmul double %11, %11, !dbg !409 %13 = call double @julia_igmrf_2n_63619(ptr addrspace(10) %"\CE\94I::Array", double %12), !dbg !412 br i1 false, label %L22, label %L8, !dbg !413 L8: ; preds = %top %14 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !419 %.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %14, i32 16, !dbg !419 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.size, ptr addrspace(11) align 8 %.size_ptr, i64 16, i1 false), !dbg !419, !tbaa !30, !alias.scope !44, !noalias !45 %".size[2]_ptr" = getelementptr inbounds i8, ptr %.size, i32 8, !dbg !426 %.size.unbox = load i64, ptr %.size, align 8, !dbg !428, !tbaa !62, !alias.scope !64, !noalias !65 %".size[2]_ptr.unbox" = load i64, ptr %".size[2]_ptr", align 8, !dbg !428, !tbaa !62, !alias.scope !64, !noalias !65 %15 = mul i64 %.size.unbox, %".size[2]_ptr.unbox", !dbg !428 %16 = icmp ult i64 0, %15, !dbg !423 %17 = xor i1 %16, true, !dbg !425 br i1 %17, label %L18, label %L17, !dbg !425 L17: ; preds = %L8 br label %L21, !dbg !425 L18: ; preds = %L8 %18 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !425 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !425, !tbaa !30, !alias.scope !430, !noalias !431 %19 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !425 call void @julia_throw_boundserror_63614(ptr addrspace(10) %9, ptr addrspace(11) nocapture readonly %19) #13, !dbg !425 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_1), !dbg !425 unreachable, !dbg !425 L21: ; preds = %L17 br label %L22, !dbg !425 L22: ; preds = %L21, %top %20 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !432 %21 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 0, !dbg !432 %memoryref_data = load ptr, ptr addrspace(11) %21, align 8, !dbg !432, !tbaa !145, !alias.scope !148, !noalias !149 %22 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 1, !dbg !432 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %22, align 8, !dbg !432, !tbaa !145, !alias.scope !148, !noalias !149, !dereferenceable_or_null !29, !align !27 %23 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !432 %.ref = insertvalue { ptr, ptr addrspace(10) } %23, ptr addrspace(10) %memoryref_mem, 1, !dbg !432 %24 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !432 %25 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %24, i32 0, i32 0, !dbg !432 %memory_len = load i64, ptr addrspace(11) %25, align 8, !dbg !432, !tbaa !150, !range !152, !alias.scope !148, !noalias !149 %26 = add nuw i64 %memory_len, %memory_len, !dbg !432 %27 = add i64 0, %memory_len, !dbg !432 %memoryref_ovflw = icmp uge i64 %27, %26, !dbg !432 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 0, !dbg !432 %28 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !432 %29 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %28, i32 0, i32 0, !dbg !432 %memory_len1 = load i64, ptr addrspace(11) %29, align 8, !dbg !432, !tbaa !150, !range !152, !alias.scope !148, !noalias !149 %30 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !432 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !432 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !432, !tbaa !153, !alias.scope !148, !noalias !149, !nonnull !0 %31 = ptrtoint ptr %memory_data to i64, !dbg !432 %32 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !432 %33 = sub i64 %32, %31, !dbg !432 %memoryref_bytelen = mul nuw nsw i64 %memory_len1, 8, !dbg !432 %memoryref_isinbounds = icmp ult i64 %33, %memoryref_bytelen, !dbg !432 %34 = xor i1 %memoryref_ovflw, true, !dbg !432 %"memoryref_isinbounds¬ovflw" = and i1 %34, %memoryref_isinbounds, !dbg !432 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !432 L26: ; preds = %load br label %L27, !dbg !432 L27: ; preds = %L26 %35 = fadd double %12, %47, !dbg !433 %36 = fmul double 0x402921FB54442D18, %35, !dbg !436 br label %L30, !dbg !435 L30: ; preds = %L27 %37 = fdiv double %13, %36, !dbg !437 ret double %37, !dbg !412 oob: ; preds = %L22 %"+Core.GenericMemoryRef#63612" = load ptr, ptr @_Core_GenericMemoryRef_63612, align 8, !dbg !432, !tbaa !15, !alias.scope !18, !noalias !21, !nonnull !0, !dereferenceable !28, !align !29 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#63612" to i64, !dbg !432 %38 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !432 %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !432 %39 = addrspacecast ptr %38 to ptr addrspace(10), !dbg !432 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task, i64 16, ptr addrspace(10) %39) #14, !dbg !432 %40 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !432 store { ptr, ptr addrspace(10) } %.ref, ptr addrspace(11) %40, align 8, !dbg !432, !tbaa !390, !alias.scope !394, !noalias !395 %41 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !432 call void @ijl_bounds_error_int(ptr addrspace(12) %41, i64 1), !dbg !432 unreachable, !dbg !432 idxend: ; preds = %L22 %42 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !432 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %42, ptr addrspace(10) %memoryref_mem, 1, !dbg !432 %43 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !432 %44 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %43, i32 0, i32 0, !dbg !432 %memory_len2 = load i64, ptr addrspace(11) %44, align 8, !dbg !432, !tbaa !150, !range !152, !alias.scope !148, !noalias !149 %45 = icmp eq i64 %memory_len2, 0, !dbg !432 br i1 %45, label %oob3, label %load, !dbg !432 oob3: ; preds = %idxend %46 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !432 call void @ijl_bounds_error_int(ptr addrspace(12) %46, i64 1), !dbg !432 unreachable, !dbg !432 load: ; preds = %idxend %memoryref_data4 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !432 %47 = load double, ptr addrspace(13) %memoryref_data4, align 8, !dbg !432, !tbaa !396, !alias.scope !394, !noalias !395 br label %L26, !dbg !432 after_error: ; No predecessors! call void @llvm.trap(), !dbg !425 unreachable, !dbg !425 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !425 unreachable, !dbg !425 } expectLen=3 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(VLBIImagePriors.sq_manoblis), MarkovRandomFieldGraph{2, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}, Matrix{Float64}, Float64) 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:542 [inlined] [14] (::VLBIImagePriorsEnzymeExt.var"#_sq_manoblis_pullback#_sq_manoblis_pullback##0"{MarkovRandomFieldGraph{2, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}, Matrix{Float64}, Float64, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}})(Δ::Float64) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:52 [15] _test_inferred(f::Any, args::Any; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:265 [16] _test_inferred @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:263 [inlined] [17] macro expansion @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:220 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, testset_name::Any, kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:205 [20] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:181 [21] test_rrule(::Any, ::Vararg{Any}; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:178 [22] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:177 [23] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:25 [24] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [25] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:52 [inlined] [26] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [27] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:74 [inlined] [28] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [29] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:91 [inlined] [30] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [31] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [32] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [33] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:20 [inlined] [34] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [35] top-level scope @ none:6 [36] eval(m::Module, e::Any) @ Core ./boot.jl:489 [37] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [38] _start() @ Base ./client.jl:577 test_rrule: sq_manoblis on MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}},Matrix{Float64},Float64: Error During Test at /home/pkgeval/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:202 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define double @julia_sq_manoblis_63627(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(56) %"d::MarkovRandomFieldGraph", ptr nocapture noundef nonnull readonly align 8 dereferenceable(40) %.roots.d, ptr addrspace(10) noundef nonnull align 8 dereferenceable(32) %"\CE\94I::Array", double %"\CF\81::Float64") #11 !dbg !442 { top: %.size = alloca [2 x i64], align 8 %"new::Tuple" = alloca [1 x i64], align 8 %pgcstack = call ptr @julia.get_pgcstack() %0 = getelementptr inbounds i8, ptr %.roots.d, i32 0 %1 = load ptr addrspace(10), ptr %0, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %2 = getelementptr inbounds i8, ptr %.roots.d, i32 8 %3 = load ptr addrspace(10), ptr %2, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %4 = getelementptr inbounds i8, ptr %.roots.d, i32 16 %5 = load ptr addrspace(10), ptr %4, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %6 = getelementptr inbounds i8, ptr %.roots.d, i32 24 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %8 = getelementptr inbounds i8, ptr %.roots.d, i32 32 %9 = load ptr addrspace(10), ptr %8, align 8, !tbaa !15, !alias.scope !424, !noalias !425 %10 = fdiv double 1.000000e+00, %"\CF\81::Float64", !dbg !443 %11 = fmul double %10, %10, !dbg !451 %12 = call double @julia_igmrf_1n_63637(ptr addrspace(10) %"\CE\94I::Array", double %11), !dbg !456 br i1 false, label %L21, label %L7, !dbg !457 L7: ; preds = %top %13 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !463 %.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !463 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.size, ptr addrspace(11) align 8 %.size_ptr, i64 16, i1 false), !dbg !463, !tbaa !25, !alias.scope !26, !noalias !30 %".size[2]_ptr" = getelementptr inbounds i8, ptr %.size, i32 8, !dbg !470 %.size.unbox = load i64, ptr %.size, align 8, !dbg !472, !tbaa !50, !alias.scope !52, !noalias !53 %".size[2]_ptr.unbox" = load i64, ptr %".size[2]_ptr", align 8, !dbg !472, !tbaa !50, !alias.scope !52, !noalias !53 %14 = mul i64 %.size.unbox, %".size[2]_ptr.unbox", !dbg !472 %15 = icmp ult i64 0, %14, !dbg !467 %16 = xor i1 %15, true, !dbg !469 br i1 %16, label %L17, label %L16, !dbg !469 L16: ; preds = %L7 br label %L20, !dbg !469 L17: ; preds = %L7 %17 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !469 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !469, !tbaa !25, !alias.scope !474, !noalias !475 %18 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !469 call void @julia_throw_boundserror_63632(ptr addrspace(10) %9, ptr addrspace(11) nocapture readonly %18) #13, !dbg !469 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_5), !dbg !469 unreachable, !dbg !469 L20: ; preds = %L16 br label %L21, !dbg !469 L21: ; preds = %L20, %top br label %L22, !dbg !469 L22: ; preds = %L21 br label %L23, !dbg !469 L23: ; preds = %L22 %19 = fadd double %11, 1.000000e+00, !dbg !476 br label %L25, !dbg !480 L25: ; preds = %L23 %20 = fdiv double %12, %19, !dbg !481 ret double %20, !dbg !456 after_error: ; No predecessors! call void @llvm.trap(), !dbg !469 unreachable, !dbg !469 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !469 unreachable, !dbg !469 } expectLen=3 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(VLBIImagePriors.sq_manoblis), MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}, Matrix{Float64}, Float64) 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:542 [inlined] [14] (::VLBIImagePriorsEnzymeExt.var"#_sq_manoblis_pullback#_sq_manoblis_pullback##0"{MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}, Matrix{Float64}, Float64, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}})(Δ::Float64) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:52 [15] _test_inferred(f::Any, args::Any; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:265 [16] _test_inferred @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:263 [inlined] [17] macro expansion @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:220 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, testset_name::Any, kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:205 [20] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:181 [21] test_rrule(::Any, ::Vararg{Any}; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:178 [22] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:177 [23] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:25 [24] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [25] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:98 [inlined] [26] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [27] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:99 [inlined] [28] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [29] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:116 [inlined] [30] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [31] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [32] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [33] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:20 [inlined] [34] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [35] top-level scope @ none:6 [36] eval(m::Module, e::Any) @ Core ./boot.jl:489 [37] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [38] _start() @ Base ./client.jl:577 test_rrule: sq_manoblis on MarkovRandomFieldGraph{2, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}},Matrix{Float64},Float64: Error During Test at /home/pkgeval/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:202 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define double @julia_sq_manoblis_63646(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(56) %"d::MarkovRandomFieldGraph", ptr nocapture noundef nonnull readonly align 8 dereferenceable(40) %.roots.d, ptr addrspace(10) noundef nonnull align 8 dereferenceable(32) %"\CE\94I::Array", double %"\CF\81::Float64") #11 !dbg !398 { top: %.size = alloca [2 x i64], align 8 %"new::Tuple" = alloca [1 x i64], align 8 %pgcstack = call ptr @julia.get_pgcstack() %0 = getelementptr inbounds i8, ptr %.roots.d, i32 0 %1 = load ptr addrspace(10), ptr %0, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %2 = getelementptr inbounds i8, ptr %.roots.d, i32 8 %3 = load ptr addrspace(10), ptr %2, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %4 = getelementptr inbounds i8, ptr %.roots.d, i32 16 %5 = load ptr addrspace(10), ptr %4, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %6 = getelementptr inbounds i8, ptr %.roots.d, i32 24 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %8 = getelementptr inbounds i8, ptr %.roots.d, i32 32 %9 = load ptr addrspace(10), ptr %8, align 8, !tbaa !15, !alias.scope !18, !noalias !21 %10 = fdiv double 1.000000e+00, %"\CF\81::Float64", !dbg !399 %11 = fmul double 0x4006A09E667F3BCD, %10, !dbg !407 %12 = fmul double %11, %11, !dbg !409 %13 = call double @julia_igmrf_2n_63657(ptr addrspace(10) %"\CE\94I::Array", double %12), !dbg !412 br i1 false, label %L22, label %L8, !dbg !413 L8: ; preds = %top %14 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !419 %.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %14, i32 16, !dbg !419 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.size, ptr addrspace(11) align 8 %.size_ptr, i64 16, i1 false), !dbg !419, !tbaa !30, !alias.scope !44, !noalias !45 %".size[2]_ptr" = getelementptr inbounds i8, ptr %.size, i32 8, !dbg !426 %.size.unbox = load i64, ptr %.size, align 8, !dbg !428, !tbaa !62, !alias.scope !64, !noalias !65 %".size[2]_ptr.unbox" = load i64, ptr %".size[2]_ptr", align 8, !dbg !428, !tbaa !62, !alias.scope !64, !noalias !65 %15 = mul i64 %.size.unbox, %".size[2]_ptr.unbox", !dbg !428 %16 = icmp ult i64 0, %15, !dbg !423 %17 = xor i1 %16, true, !dbg !425 br i1 %17, label %L18, label %L17, !dbg !425 L17: ; preds = %L8 br label %L21, !dbg !425 L18: ; preds = %L8 %18 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !425 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !425, !tbaa !30, !alias.scope !430, !noalias !431 %19 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !425 call void @julia_throw_boundserror_63652(ptr addrspace(10) %9, ptr addrspace(11) nocapture readonly %19) #13, !dbg !425 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_1), !dbg !425 unreachable, !dbg !425 L21: ; preds = %L17 br label %L22, !dbg !425 L22: ; preds = %L21, %top %20 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !432 %21 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 0, !dbg !432 %memoryref_data = load ptr, ptr addrspace(11) %21, align 8, !dbg !432, !tbaa !145, !alias.scope !148, !noalias !149 %22 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 1, !dbg !432 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %22, align 8, !dbg !432, !tbaa !145, !alias.scope !148, !noalias !149, !dereferenceable_or_null !29, !align !27 %23 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !432 %.ref = insertvalue { ptr, ptr addrspace(10) } %23, ptr addrspace(10) %memoryref_mem, 1, !dbg !432 %24 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !432 %25 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %24, i32 0, i32 0, !dbg !432 %memory_len = load i64, ptr addrspace(11) %25, align 8, !dbg !432, !tbaa !150, !range !152, !alias.scope !148, !noalias !149 %26 = add nuw i64 %memory_len, %memory_len, !dbg !432 %27 = add i64 0, %memory_len, !dbg !432 %memoryref_ovflw = icmp uge i64 %27, %26, !dbg !432 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 0, !dbg !432 %28 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !432 %29 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %28, i32 0, i32 0, !dbg !432 %memory_len1 = load i64, ptr addrspace(11) %29, align 8, !dbg !432, !tbaa !150, !range !152, !alias.scope !148, !noalias !149 %30 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !432 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !432 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !432, !tbaa !153, !alias.scope !148, !noalias !149, !nonnull !0 %31 = ptrtoint ptr %memory_data to i64, !dbg !432 %32 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !432 %33 = sub i64 %32, %31, !dbg !432 %memoryref_bytelen = mul nuw nsw i64 %memory_len1, 8, !dbg !432 %memoryref_isinbounds = icmp ult i64 %33, %memoryref_bytelen, !dbg !432 %34 = xor i1 %memoryref_ovflw, true, !dbg !432 %"memoryref_isinbounds¬ovflw" = and i1 %34, %memoryref_isinbounds, !dbg !432 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !432 L26: ; preds = %load br label %L27, !dbg !432 L27: ; preds = %L26 %35 = fadd double %12, %47, !dbg !433 %36 = fmul double 0x402921FB54442D18, %35, !dbg !436 br label %L30, !dbg !435 L30: ; preds = %L27 %37 = fdiv double %13, %36, !dbg !437 ret double %37, !dbg !412 oob: ; preds = %L22 %"+Core.GenericMemoryRef#63650" = load ptr, ptr @_Core_GenericMemoryRef_63650, align 8, !dbg !432, !tbaa !15, !alias.scope !18, !noalias !21, !nonnull !0, !dereferenceable !28, !align !29 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#63650" to i64, !dbg !432 %38 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !432 %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !432 %39 = addrspacecast ptr %38 to ptr addrspace(10), !dbg !432 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task, i64 16, ptr addrspace(10) %39) #14, !dbg !432 %40 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !432 store { ptr, ptr addrspace(10) } %.ref, ptr addrspace(11) %40, align 8, !dbg !432, !tbaa !390, !alias.scope !394, !noalias !395 %41 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !432 call void @ijl_bounds_error_int(ptr addrspace(12) %41, i64 1), !dbg !432 unreachable, !dbg !432 idxend: ; preds = %L22 %42 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !432 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %42, ptr addrspace(10) %memoryref_mem, 1, !dbg !432 %43 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !432 %44 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %43, i32 0, i32 0, !dbg !432 %memory_len2 = load i64, ptr addrspace(11) %44, align 8, !dbg !432, !tbaa !150, !range !152, !alias.scope !148, !noalias !149 %45 = icmp eq i64 %memory_len2, 0, !dbg !432 br i1 %45, label %oob3, label %load, !dbg !432 oob3: ; preds = %idxend %46 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !432 call void @ijl_bounds_error_int(ptr addrspace(12) %46, i64 1), !dbg !432 unreachable, !dbg !432 load: ; preds = %idxend %memoryref_data4 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !432 %47 = load double, ptr addrspace(13) %memoryref_data4, align 8, !dbg !432, !tbaa !396, !alias.scope !394, !noalias !395 br label %L26, !dbg !432 after_error: ; No predecessors! call void @llvm.trap(), !dbg !425 unreachable, !dbg !425 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !425 unreachable, !dbg !425 } expectLen=3 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(VLBIImagePriors.sq_manoblis), MarkovRandomFieldGraph{2, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}, Matrix{Float64}, Float64) 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:542 [inlined] [14] (::VLBIImagePriorsEnzymeExt.var"#_sq_manoblis_pullback#_sq_manoblis_pullback##0"{MarkovRandomFieldGraph{2, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}, Matrix{Float64}, Float64, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}})(Δ::Float64) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:52 [15] _test_inferred(f::Any, args::Any; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:265 [16] _test_inferred @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:263 [inlined] [17] macro expansion @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:220 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, testset_name::Any, kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:205 [20] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:181 [21] test_rrule(::Any, ::Vararg{Any}; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:178 [22] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:177 [23] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:25 [24] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [25] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:98 [inlined] [26] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [27] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:121 [inlined] [28] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [29] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:138 [inlined] [30] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [31] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [32] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [33] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:20 [inlined] [34] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [35] top-level scope @ none:6 [36] eval(m::Module, e::Any) @ Core ./boot.jl:489 [37] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [38] _start() @ Base ./client.jl:577 Equal: Error During Test at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:164 Got exception outside of a @test SystemError: opening file "test.jls": Permission denied Stacktrace: [1] systemerror(p::String, errno::Int32; extrainfo::Nothing) @ Base ./error.jl:186 [2] open(fname::String; lock::Bool, read::Nothing, write::Nothing, create::Nothing, truncate::Bool, append::Nothing) @ Base ./iostream.jl:327 [3] open @ ./iostream.jl:306 [inlined] [4] open(fname::String, mode::String; lock::Bool) @ Base ./iostream.jl:390 [5] open(fname::String, mode::String) @ Base ./iostream.jl:389 [6] open(::Serialization.var"#serialize##0#serialize##1"{VLBIImagePriors.StationaryMatern{StationaryRandomFieldPlan{AbstractFFTs.Frequencies{Float64}, Serial, FFTW.cFFTWPlan{ComplexF64, -1, true, 2, Tuple{Int64, Int64}}}}}, ::String, ::Vararg{String}; kwargs::@Kwargs{}) @ Base ./io.jl:425 [7] open @ ./io.jl:424 [inlined] [8] serialize(filename::String, x::VLBIImagePriors.StationaryMatern{StationaryRandomFieldPlan{AbstractFFTs.Frequencies{Float64}, Serial, FFTW.cFFTWPlan{ComplexF64, -1, true, 2, Tuple{Int64, Int64}}}}) @ Serialization /opt/julia/share/julia/stdlib/v1.14/Serialization/src/Serialization.jl:825 [9] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:25 [10] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [11] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:165 [inlined] [12] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [13] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:182 [inlined] [14] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [15] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [17] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:20 [inlined] [18] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [19] top-level scope @ none:6 [20] eval(m::Module, e::Any) @ Core ./boot.jl:489 [21] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [22] _start() @ Base ./client.jl:577 ExpMarkovRandomField( Graph: MarkovRandomFieldGraph{1}( dims: (10, 8) ) Correlation Parameter: 3.0 )ConditionalMarkov( Random Field: ExpMarkovRandomField{Float64, MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}} Graph: MarkovRandomFieldGraph{1}( dims: (10, 8) ) )TDistMarkovRandomField( Graph: MarkovRandomFieldGraph{1}( dims: (10, 8) ) Correlation Parameter: 3.0 Degrees of Freedom: 1.0 )ConditionalMarkov( Random Field: TDistMarkovRandomField{Float64, MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}} Graph: MarkovRandomFieldGraph{1}( dims: (10, 8) ) )HierarchicalPrior( map: f hyper prior: DiagNormal( dim: 2 μ: [0.0, -1.0] Σ: [1.0 0.0; 0.0 1.0] ) ) Noncenter Markov Gaussian: Error During Test at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:373 Got exception outside of a @test SystemError: opening file "test.jls": Permission denied Stacktrace: [1] systemerror(p::String, errno::Int32; extrainfo::Nothing) @ Base ./error.jl:186 [2] open(fname::String; lock::Bool, read::Nothing, write::Nothing, create::Nothing, truncate::Bool, append::Nothing) @ Base ./iostream.jl:327 [3] open @ ./iostream.jl:306 [inlined] [4] open(fname::String, mode::String; lock::Bool) @ Base ./iostream.jl:390 [5] open(fname::String, mode::String) @ Base ./iostream.jl:389 [6] open(::Serialization.var"#serialize##0#serialize##1"{VLBIImagePriors.NonCenteredMarkovTransform{1, MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}, FFTW.r2rFFTWPlan{Float64, Vector{Int32}, true, 2, Tuple{Int64, Int64}}}}, ::String, ::Vararg{String}; kwargs::@Kwargs{}) @ Base ./io.jl:425 [7] open @ ./io.jl:424 [inlined] [8] serialize @ /opt/julia/share/julia/stdlib/v1.14/Serialization/src/Serialization.jl:825 [inlined] [9] (::var"#testnoncenter#testnoncenter##0")(d::GaussMarkovRandomField{Float64, MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}}}) @ Main ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:379 [10] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:375 [11] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [12] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/mrf.jl:401 [inlined] [13] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [14] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [15] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [16] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:20 [inlined] [17] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [18] top-level scope @ none:6 [19] eval(m::Module, e::Any) @ Core ./boot.jl:489 [20] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [21] _start() @ Base ./client.jl:577 ┌ Warning: Executor type dummy not supported, defaulting to Serial() └ @ VLBIImagePriors ~/.julia/packages/VLBIImagePriors/czA3i/src/srf.jl:16 StationaryRandomFieldPlan Base type: Float64 size: (8, 8) exec: Serial() ┌ Warning: `MvNormal(σ::AbstractVector{<:Real})` is deprecated, use `MvNormal(LinearAlgebra.Diagonal(map(abs2, σ)))` instead. │ caller = ip:0x0 └ @ Core :-1 StdNormal: Test Failed at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/srf.jl:126 Expression: isapprox(mean(x), zeros(size(g)), atol = 0.05, norm = maximum) Evaluated: isapprox([0.005225865085575819 0.005696984320894049 … -0.004248583476560204 0.01877397138593412; -0.018319512009085416 -0.0023324097992883297 … 0.009059020526841955 -0.0009851687807888886; … ; 0.0012544054355043675 -0.005381977947613972 … 0.009758929846200696 -0.006916547283448456; -0.021473646980150477 0.010106720109782193 … 0.015450534298757021 -0.011083837850829415], [0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0; … ; 0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0]; atol = 0.05, norm = maximum) Stacktrace: [1] record(ts::Test.DefaultTestSet, t::Union{Test.Error, Test.Fail}; print_result::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1291 [2] record @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1283 [inlined] [3] do_test(result::Test.ExecutionResult, orig_expr::Any) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:786 [4] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/srf.jl:105 [5] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [6] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/srf.jl:126 [inlined] [7] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:753 [inlined] [8] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [9] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [10] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [11] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:21 [inlined] [12] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [13] top-level scope @ none:6 [14] eval(m::Module, e::Any) @ Core ./boot.jl:489 [15] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [16] _start() @ Base ./client.jl:577 StdNormal: Test Failed at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/srf.jl:127 Expression: isapprox(var(x), ones(size(g)), atol = 0.1, norm = maximum) Evaluated: isapprox([1.0072328546851252 0.9890694509868654 … 1.0042831902993106 0.9939045258716152; 1.0005077680664936 1.0158539756754732 … 1.0120719457597886 1.0089483120409235; … ; 1.0132437671136558 0.9971707559496119 … 1.0170028250456742 1.01400081474681; 0.998600985502687 0.9948905430618059 … 0.9792713301931243 1.0230635898440388], [1.0 1.0 … 1.0 1.0; 1.0 1.0 … 1.0 1.0; … ; 1.0 1.0 … 1.0 1.0; 1.0 1.0 … 1.0 1.0]; atol = 0.1, norm = maximum) Stacktrace: [1] record(ts::Test.DefaultTestSet, t::Union{Test.Error, Test.Fail}; print_result::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1291 [2] record @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1283 [inlined] [3] do_test(result::Test.ExecutionResult, orig_expr::Any) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:786 [4] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/srf.jl:105 [5] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [6] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/srf.jl:127 [inlined] [7] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:753 [inlined] [8] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [9] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [10] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [11] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:21 [inlined] [12] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [13] top-level scope @ none:6 [14] eval(m::Module, e::Any) @ Core ./boot.jl:489 [15] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [16] _start() @ Base ./client.jl:577 test_rrule: simplex_fwd on TransformVariables.NoLogJac,VLBIImagePriors.ImageSimplex,Vector{Float64}: Error During Test at /home/pkgeval/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:202 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:542 [inlined] [16] (::VLBIImagePriorsEnzymeExt.var"#_simplex_fwd_pullback#_simplex_fwd_pullback##0"{TransformVariables.NoLogJac, Vector{Float64}, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}}}}, Vector{Float64}})(ΔX::Vector{Float64}) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:75 [17] _test_inferred(f::Any, args::Any; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:265 [18] _test_inferred @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:263 [inlined] [19] macro expansion @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:220 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, testset_name::Any, kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:205 [22] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:181 [23] test_rrule(::Any, ::Vararg{Any}; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:178 [24] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:177 [25] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:3 [26] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [27] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:22 [inlined] [28] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [29] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:26 [inlined] [30] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [31] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [32] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [33] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:22 [inlined] [34] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [35] top-level scope @ none:6 [36] eval(m::Module, e::Any) @ Core ./boot.jl:489 [37] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [38] _start() @ Base ./client.jl:577 test_rrule: simplex_fwd on TransformVariables.LogJac,VLBIImagePriors.ImageSimplex,Vector{Float64}: Error During Test at /home/pkgeval/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:202 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:542 [inlined] [16] (::VLBIImagePriorsEnzymeExt.var"#_simplex_fwd_pullback#_simplex_fwd_pullback##0"{TransformVariables.LogJac, Vector{Float64}, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}}}}, Vector{Float64}})(ΔX::Vector{Float64}) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:75 [17] _test_inferred(f::Any, args::Any; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:265 [18] _test_inferred @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:263 [inlined] [19] macro expansion @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:220 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, testset_name::Any, kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:205 [22] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:181 [23] test_rrule(::Any, ::Vararg{Any}; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:178 [24] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:177 [25] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:3 [26] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [27] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:22 [inlined] [28] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [29] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:32 [inlined] [30] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [31] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [32] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [33] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:22 [inlined] [34] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [35] top-level scope @ none:6 [36] eval(m::Module, e::Any) @ Core ./boot.jl:489 [37] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [38] _start() @ Base ./client.jl:577 test_rrule: to_simplex on AdditiveLR,Matrix{Float64}: Error During Test at /home/pkgeval/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:202 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal nonnull ptr addrspace(10) @julia_copyto__70687(ptr addrspace(10) noundef nonnull align 8 dereferenceable(24) %"dest::Array", ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(40) %"src::SubArray", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.src) #19 !dbg !1131 { top: %"dest::Array.size" = alloca i64, align 8 %sret_box = alloca [5 x i64], align 8 %0 = alloca ptr addrspace(10), align 8 %1 = alloca ptr addrspace(10), align 8 %2 = alloca [5 x i64], align 8 %3 = alloca [5 x i64], align 8 %"dest::Array.size9" = alloca i64, align 8 %"new::LinearIndices" = alloca [1 x [1 x [1 x i64]]], align 8 %"new::Tuple" = alloca [1 x i64], align 8 %root_phi.size = alloca i64, align 8 %"dest::Array.size29" = alloca i64, align 8 %"new::Tuple60" = alloca [1 x i64], align 8 %"new::Tuple61" = alloca [1 x i64], align 8 %4 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %4, i8 0, i64 8, i1 false), !tbaa !25, !alias.scope !49, !noalias !50 call void @llvm.memset.p0.i64(ptr align 8 %1, i8 0, i64 8, i1 false), !tbaa !25, !alias.scope !49, !noalias !50 call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !25, !alias.scope !49, !noalias !50 %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 !25 %5 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %5 monotonic, align 8, !tbaa !29 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %6 = getelementptr inbounds i8, ptr %.roots.src, i32 0 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !29, !alias.scope !32, !noalias !35 %8 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !1132 %.stop_ptr = getelementptr inbounds i8, ptr addrspace(11) %8, i32 8, !dbg !1143 %.stop_ptr.unbox = load i64, ptr addrspace(11) %.stop_ptr, align 8, !dbg !1154, !tbaa !29, !alias.scope !32, !noalias !35 %.unbox = load i64, ptr addrspace(11) %8, align 8, !dbg !1154, !tbaa !29, !alias.scope !32, !noalias !35 %9 = sub i64 %.stop_ptr.unbox, %.unbox, !dbg !1154 %10 = add i64 1, %9, !dbg !1157 %11 = icmp eq i64 %10, 0, !dbg !1159 %12 = xor i1 %11, true, !dbg !1142 br i1 %12, label %L10, label %L9, !dbg !1142 L9: ; preds = %top ret ptr addrspace(10) %"dest::Array", !dbg !1142 L10: ; preds = %top %13 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1161 %"dest::Array.size_ptr" = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !1161 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size", ptr addrspace(11) align 8 %"dest::Array.size_ptr", i64 8, i1 false), !dbg !1161, !tbaa !44, !alias.scope !61, !noalias !62 %"dest::Array.size.unbox" = load i64, ptr %"dest::Array.size", align 8, !dbg !1170, !tbaa !69, !alias.scope !71, !noalias !72 %14 = icmp eq i64 %"dest::Array.size.unbox", 0, !dbg !1170 %15 = xor i1 %14, true, !dbg !1171 %16 = xor i1 %15, true, !dbg !1165 br i1 %16, label %L39, label %L16, !dbg !1165 L16: ; preds = %L10 %17 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !1173 %.stop_ptr1 = getelementptr inbounds i8, ptr addrspace(11) %17, i32 8, !dbg !1176 %.stop_ptr1.unbox = load i64, ptr addrspace(11) %.stop_ptr1, align 8, !dbg !1182, !tbaa !29, !alias.scope !32, !noalias !35 %.unbox2 = load i64, ptr addrspace(11) %17, align 8, !dbg !1182, !tbaa !29, !alias.scope !32, !noalias !35 %18 = sub i64 %.stop_ptr1.unbox, %.unbox2, !dbg !1182 %19 = add i64 1, %18, !dbg !1184 %20 = icmp eq i64 %19, 0, !dbg !1170 %21 = xor i1 %20, true, !dbg !1171 %22 = xor i1 %21, true, !dbg !1165 br i1 %22, label %L38, label %L25, !dbg !1165 L25: ; preds = %L16 %23 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1185 %24 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 0, !dbg !1185 %25 = load ptr, ptr addrspace(11) %24, align 8, !dbg !1185, !tbaa !88, !alias.scope !91, !noalias !92 %26 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 1, !dbg !1185 %27 = load ptr addrspace(10), ptr addrspace(11) %26, align 8, !dbg !1185, !tbaa !88, !alias.scope !91, !noalias !92, !dereferenceable_or_null !43, !align !41 %28 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %25, 0, !dbg !1185 %"dest::Array.ref" = insertvalue { ptr, ptr addrspace(10) } %28, ptr addrspace(10) %27, 1, !dbg !1185 %"dest::Array.ref.mem" = extractvalue { ptr, ptr addrspace(10) } %"dest::Array.ref", 1, !dbg !1185 %29 = addrspacecast ptr addrspace(10) %"dest::Array.ref.mem" to ptr addrspace(11), !dbg !1188 %"dest::Array.ref.mem.ptr_ptr" = getelementptr inbounds i8, ptr addrspace(11) %29, i32 8, !dbg !1188 %bitcast = load ptr, ptr addrspace(11) %"dest::Array.ref.mem.ptr_ptr", align 8, !dbg !1190, !tbaa !96, !alias.scope !91, !noalias !92 %bitcast_coercion = ptrtoint ptr %bitcast to i64, !dbg !1190 %30 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !1192 %31 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 0, !dbg !1192 %32 = load ptr, ptr addrspace(11) %31, align 8, !dbg !1192, !tbaa !88, !alias.scope !91, !noalias !92 %33 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !1192 %34 = load ptr addrspace(10), ptr addrspace(11) %33, align 8, !dbg !1192, !tbaa !88, !alias.scope !91, !noalias !92, !dereferenceable_or_null !43, !align !41 %35 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %32, 0, !dbg !1192 %.ref = insertvalue { ptr, ptr addrspace(10) } %35, ptr addrspace(10) %34, 1, !dbg !1192 %.ref.mem = extractvalue { ptr, ptr addrspace(10) } %.ref, 1, !dbg !1192 %36 = addrspacecast ptr addrspace(10) %.ref.mem to ptr addrspace(11), !dbg !1196 %.ref.mem.ptr_ptr = getelementptr inbounds i8, ptr addrspace(11) %36, i32 8, !dbg !1196 %bitcast3 = load ptr, ptr addrspace(11) %.ref.mem.ptr_ptr, align 8, !dbg !1198, !tbaa !96, !alias.scope !91, !noalias !92 %bitcast_coercion4 = ptrtoint ptr %bitcast3 to i64, !dbg !1198 %37 = icmp eq i64 %bitcast_coercion, %bitcast_coercion4, !dbg !1199 %38 = xor i1 %37, true, !dbg !1204 %39 = xor i1 %38, true, !dbg !1171 %40 = zext i1 %39 to i8 br label %L40, !dbg !1171 L38: ; preds = %L16 br label %L40, !dbg !1205 L39: ; preds = %L10 br label %L40, !dbg !1205 L40: ; preds = %L39, %L38, %L25 %value_phi = phi i8 [ %40, %L25 ], [ 0, %L38 ], [ 0, %L39 ] %41 = trunc i8 %value_phi to i1, !dbg !1167 %42 = xor i1 %41, true, !dbg !1167 br i1 %42, label %L44, label %L42, !dbg !1167 L42: ; preds = %L40 %43 = getelementptr inbounds i8, ptr %1, i32 0, !dbg !1167 store ptr addrspace(10) %7, ptr %43, align 8, !dbg !1167 call void @julia_unaliascopy_70694(ptr noalias nocapture noundef sret({ ptr addrspace(10), [1 x [2 x i64]], i64, i64 }) %sret_box, ptr noalias nocapture noundef "enzymejl_returnRoots" %0, ptr addrspace(11) nocapture readonly %"src::SubArray", ptr nocapture readonly %1), !dbg !1167 %44 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !1167 %45 = load ptr addrspace(10), ptr %44, align 8, !dbg !1167, !tbaa !25, !alias.scope !49, !noalias !50 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !1208 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %sret_box, i64 40, i1 false), !dbg !1208, !tbaa !44, !alias.scope !1209, !noalias !1210 br label %L45, !dbg !1167 L44: ; preds = %L40 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !1208 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %3, ptr addrspace(11) align 8 %"src::SubArray", i64 40, i1 false), !dbg !1208, !tbaa !44, !alias.scope !1117, !noalias !1118 br label %L45, !dbg !1205 L45: ; preds = %L44, %L42 %root_phi = phi ptr addrspace(10) [ %45, %L42 ], [ %7, %L44 ] call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %3, i64 40, i1 false), !dbg !1169 call void @llvm.lifetime.end.p0(i64 -1, ptr %3), !dbg !1169 %46 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !1211 %.stop_ptr5 = getelementptr inbounds i8, ptr %46, i32 8, !dbg !1217 %.stop_ptr5.unbox = load i64, ptr %.stop_ptr5, align 8, !dbg !1223, !tbaa !69, !alias.scope !71, !noalias !72 %.unbox6 = load i64, ptr %46, align 8, !dbg !1223, !tbaa !69, !alias.scope !71, !noalias !72 %47 = sub i64 %.stop_ptr5.unbox, %.unbox6, !dbg !1223 %48 = add i64 1, %47, !dbg !1225 %49 = icmp eq i64 %48, 0, !dbg !1226 %50 = xor i1 %49, true, !dbg !1216 br i1 %50, label %L55, label %L54, !dbg !1216 L54: ; preds = %L45 br label %L163, !dbg !1216 L55: ; preds = %L45 %51 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1227 %"dest::Array.size_ptr8" = getelementptr inbounds i8, ptr addrspace(11) %51, i32 16, !dbg !1227 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size9", ptr addrspace(11) align 8 %"dest::Array.size_ptr8", i64 8, i1 false), !dbg !1227, !tbaa !44, !alias.scope !61, !noalias !62 %52 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !1232 %.stop_ptr10 = getelementptr inbounds i8, ptr %52, i32 8, !dbg !1234 %.stop_ptr10.unbox = load i64, ptr %.stop_ptr10, align 8, !dbg !1240, !tbaa !69, !alias.scope !71, !noalias !72 %.unbox11 = load i64, ptr %52, align 8, !dbg !1240, !tbaa !69, !alias.scope !71, !noalias !72 %53 = sub i64 %.stop_ptr10.unbox, %.unbox11, !dbg !1240 %54 = add i64 1, %53, !dbg !1242 %55 = getelementptr inbounds i8, ptr %"new::LinearIndices", i32 0, !dbg !1243 %56 = getelementptr inbounds i8, ptr %55, i32 0, !dbg !1243 %57 = getelementptr inbounds i8, ptr %56, i32 0, !dbg !1243 store i64 %54, ptr %57, align 8, !dbg !1243, !tbaa !69, !alias.scope !71, !noalias !72 %bitcast12 = load i64, ptr %"dest::Array.size9", align 8, !dbg !1247, !tbaa !69, !alias.scope !71, !noalias !72 %58 = icmp ult i64 0, %bitcast12, !dbg !1255 %59 = add i64 %54, 0, !dbg !1257 %60 = sub i64 %59, 1, !dbg !1258 %bitcast13 = load i64, ptr %"dest::Array.size9", align 8, !dbg !1247, !tbaa !69, !alias.scope !71, !noalias !72 %61 = icmp ult i64 %60, %bitcast13, !dbg !1255 %62 = and i1 %58, %61, !dbg !1259 %63 = xor i1 %62, true, !dbg !1205 br i1 %63, label %L160, label %L76, !dbg !1205 L76: ; preds = %L55 %64 = icmp slt i64 %54, 1, !dbg !1261 %65 = xor i1 %64, true, !dbg !1266 br i1 %65, label %L79, label %L78, !dbg !1266 L78: ; preds = %L76 br label %L80, !dbg !1266 L79: ; preds = %L76 br label %L80, !dbg !1266 L80: ; preds = %L79, %L78 %value_phi14 = phi i8 [ 1, %L78 ], [ 0, %L79 ] %value_phi15 = phi i64 [ 1, %L79 ], [ undef, %L78 ] %value_phi16 = phi i64 [ 1, %L79 ], [ undef, %L78 ] br label %L84, !dbg !1268 L84: ; preds = %L80 %66 = trunc i8 %value_phi14 to i1, !dbg !1270 %67 = xor i1 %66, true, !dbg !1270 %68 = xor i1 %67, true, !dbg !1270 br i1 %68, label %L159, label %L84.L86_crit_edge, !dbg !1270 L84.L86_crit_edge: ; preds = %L84 br label %L86, !dbg !1266 L86: ; preds = %L84.L86_crit_edge, %L158 %value_phi17 = phi i64 [ %value_phi15, %L84.L86_crit_edge ], [ %value_phi57, %L158 ] %value_phi18 = phi i64 [ %value_phi16, %L84.L86_crit_edge ], [ %value_phi58, %L158 ] br i1 false, label %L106, label %L90, !dbg !1271 L90: ; preds = %L86 %69 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !1271 store i64 %value_phi17, ptr %69, align 8, !dbg !1271, !tbaa !69, !alias.scope !71, !noalias !72 %70 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !1274 %.stop_ptr19 = getelementptr inbounds i8, ptr %70, i32 8, !dbg !1281 %.stop_ptr19.unbox = load i64, ptr %.stop_ptr19, align 8, !dbg !1290, !tbaa !69, !alias.scope !71, !noalias !72 %.unbox20 = load i64, ptr %70, align 8, !dbg !1290, !tbaa !69, !alias.scope !71, !noalias !72 %71 = sub i64 %.stop_ptr19.unbox, %.unbox20, !dbg !1290 %72 = add i64 1, %71, !dbg !1292 %73 = sub i64 %value_phi17, 1, !dbg !1293 %74 = icmp ult i64 %73, %72, !dbg !1295 %75 = xor i1 %74, true, !dbg !1280 br i1 %75, label %L103, label %L102, !dbg !1280 L102: ; preds = %L90 br label %L105, !dbg !1280 L103: ; preds = %L90 %76 = getelementptr inbounds i8, ptr %4, i32 0, !dbg !1280 store ptr addrspace(10) %root_phi, ptr %76, align 8, !dbg !1280 %77 = addrspacecast ptr %2 to ptr addrspace(11), !dbg !1280 %78 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !1280 call void @julia_throw_boundserror_70675(ptr addrspace(11) nocapture readonly %77, ptr nocapture readonly %4, ptr addrspace(11) nocapture readonly %78) #32, !dbg !1280 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_9), !dbg !1280 unreachable, !dbg !1280 L105: ; preds = %L102 br label %L106, !dbg !1280 L106: ; preds = %L105, %L86 %79 = getelementptr inbounds i8, ptr %2, i32 24, !dbg !1296 %.unbox21 = load i64, ptr %79, align 8, !dbg !1300, !tbaa !69, !alias.scope !71, !noalias !72 %80 = add i64 %.unbox21, %value_phi17, !dbg !1300 br i1 false, label %L123, label %L111, !dbg !1301 L111: ; preds = %L106 %81 = sub i64 %80, 1, !dbg !1303 %82 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !1306 %root_phi.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %82, i32 16, !dbg !1306 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %root_phi.size, ptr addrspace(11) align 8 %root_phi.size_ptr, i64 8, i1 false), !dbg !1306, !tbaa !44, !alias.scope !61, !noalias !62 %bitcast22 = load i64, ptr %root_phi.size, align 8, !dbg !1303, !tbaa !69, !alias.scope !71, !noalias !72 %83 = icmp ult i64 %81, %bitcast22, !dbg !1303 %84 = xor i1 %83, true, !dbg !1305 br i1 %84, label %L119, label %L118, !dbg !1305 L118: ; preds = %L111 br label %L122, !dbg !1305 L119: ; preds = %L111 %85 = getelementptr inbounds i8, ptr %"new::Tuple61", i32 0, !dbg !1305 store i64 %80, ptr %85, align 8, !dbg !1305, !tbaa !69, !alias.scope !71, !noalias !72 %86 = addrspacecast ptr %"new::Tuple61" to ptr addrspace(11), !dbg !1305 call void @julia_throw_boundserror_70673(ptr addrspace(10) %root_phi, ptr addrspace(11) nocapture readonly %86) #32, !dbg !1305 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_9), !dbg !1305 unreachable, !dbg !1305 L122: ; preds = %L118 br label %L123, !dbg !1305 L123: ; preds = %L122, %L106 %87 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !1308 %88 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 0, !dbg !1308 %memoryref_data = load ptr, ptr addrspace(11) %88, align 8, !dbg !1308, !tbaa !88, !alias.scope !91, !noalias !92 %89 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 1, !dbg !1308 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %89, align 8, !dbg !1308, !tbaa !88, !alias.scope !91, !noalias !92, !dereferenceable_or_null !43, !align !41 %90 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !1308 %root_phi.ref = insertvalue { ptr, ptr addrspace(10) } %90, ptr addrspace(10) %memoryref_mem, 1, !dbg !1308 %memoryref_offset = sub i64 %80, 1, !dbg !1308 %91 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !1308 %92 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %91, i32 0, i32 0, !dbg !1308 %memory_len = load i64, ptr addrspace(11) %92, align 8, !dbg !1308, !tbaa !93, !range !95, !alias.scope !91, !noalias !92 %93 = add nuw i64 %memory_len, %memory_len, !dbg !1308 %94 = add i64 %memoryref_offset, %memory_len, !dbg !1308 %memoryref_ovflw = icmp uge i64 %94, %93, !dbg !1308 %memoryref_byteoffset = mul i64 %memoryref_offset, 8, !dbg !1308 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 %memoryref_byteoffset, !dbg !1308 %95 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !1308 %96 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %95, i32 0, i32 0, !dbg !1308 %memory_len23 = load i64, ptr addrspace(11) %96, align 8, !dbg !1308, !tbaa !93, !range !95, !alias.scope !91, !noalias !92 %97 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !1308 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %97, i32 0, i32 1, !dbg !1308 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !1308, !tbaa !96, !alias.scope !91, !noalias !92, !nonnull !0 %98 = ptrtoint ptr %memory_data to i64, !dbg !1308 %99 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !1308 %100 = sub i64 %99, %98, !dbg !1308 %memoryref_bytelen = mul nuw nsw i64 %memory_len23, 8, !dbg !1308 %memoryref_isinbounds = icmp ult i64 %100, %memoryref_bytelen, !dbg !1308 %101 = xor i1 %memoryref_ovflw, true, !dbg !1308 %"memoryref_isinbounds¬ovflw" = and i1 %101, %memoryref_isinbounds, !dbg !1308 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !1308 L127: ; preds = %load br label %L128, !dbg !1308 L128: ; preds = %L127 %102 = add i64 %value_phi17, 0, !dbg !1309 br i1 false, label %L142, label %L131, !dbg !1310 L131: ; preds = %L128 %103 = sub i64 %102, 1, !dbg !1314 %104 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1315 %"dest::Array.size_ptr28" = getelementptr inbounds i8, ptr addrspace(11) %104, i32 16, !dbg !1315 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size29", ptr addrspace(11) align 8 %"dest::Array.size_ptr28", i64 8, i1 false), !dbg !1315, !tbaa !44, !alias.scope !61, !noalias !62 %bitcast30 = load i64, ptr %"dest::Array.size29", align 8, !dbg !1314, !tbaa !69, !alias.scope !71, !noalias !72 %105 = icmp ult i64 %103, %bitcast30, !dbg !1314 %106 = xor i1 %105, true, !dbg !1310 br i1 %106, label %L139, label %L138, !dbg !1310 L138: ; preds = %L131 br label %L142, !dbg !1310 L139: ; preds = %L131 %107 = getelementptr inbounds i8, ptr %"new::Tuple60", i32 0, !dbg !1310 store i64 %102, ptr %107, align 8, !dbg !1310, !tbaa !69, !alias.scope !71, !noalias !72 %108 = addrspacecast ptr %"new::Tuple60" to ptr addrspace(11), !dbg !1310 call void @julia_throw_boundserror_70673(ptr addrspace(10) %"dest::Array", ptr addrspace(11) nocapture readonly %108) #32, !dbg !1310 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_9), !dbg !1310 unreachable, !dbg !1310 L142: ; preds = %L138, %L128 %109 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1317 %110 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 0, !dbg !1317 %memoryref_data32 = load ptr, ptr addrspace(11) %110, align 8, !dbg !1317, !tbaa !88, !alias.scope !91, !noalias !92 %111 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 1, !dbg !1317 %memoryref_mem52 = load ptr addrspace(10), ptr addrspace(11) %111, align 8, !dbg !1317, !tbaa !88, !alias.scope !91, !noalias !92, !dereferenceable_or_null !43, !align !41 %112 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data32, 0, !dbg !1317 %"dest::Array.ref31" = insertvalue { ptr, ptr addrspace(10) } %112, ptr addrspace(10) %memoryref_mem52, 1, !dbg !1317 %memoryref_offset34 = sub i64 %102, 1, !dbg !1318 %113 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !1318 %114 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %113, i32 0, i32 0, !dbg !1318 %memory_len35 = load i64, ptr addrspace(11) %114, align 8, !dbg !1318, !tbaa !93, !range !95, !alias.scope !91, !noalias !92 %115 = add nuw i64 %memory_len35, %memory_len35, !dbg !1318 %116 = add i64 %memoryref_offset34, %memory_len35, !dbg !1318 %memoryref_ovflw36 = icmp uge i64 %116, %115, !dbg !1318 %memoryref_byteoffset37 = mul i64 %memoryref_offset34, 8, !dbg !1318 %memoryref_data_byteoffset38 = getelementptr i8, ptr %memoryref_data32, i64 %memoryref_byteoffset37, !dbg !1318 %117 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !1318 %118 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %117, i32 0, i32 0, !dbg !1318 %memory_len39 = load i64, ptr addrspace(11) %118, align 8, !dbg !1318, !tbaa !93, !range !95, !alias.scope !91, !noalias !92 %119 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !1318 %memory_data_ptr40 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %119, i32 0, i32 1, !dbg !1318 %memory_data41 = load ptr, ptr addrspace(11) %memory_data_ptr40, align 8, !dbg !1318, !tbaa !96, !alias.scope !91, !noalias !92, !nonnull !0 %120 = ptrtoint ptr %memory_data41 to i64, !dbg !1318 %121 = ptrtoint ptr %memoryref_data_byteoffset38 to i64, !dbg !1318 %122 = sub i64 %121, %120, !dbg !1318 %memoryref_bytelen42 = mul nuw nsw i64 %memory_len39, 8, !dbg !1318 %memoryref_isinbounds43 = icmp ult i64 %122, %memoryref_bytelen42, !dbg !1318 %123 = xor i1 %memoryref_ovflw36, true, !dbg !1318 %"memoryref_isinbounds¬ovflw44" = and i1 %123, %memoryref_isinbounds43, !dbg !1318 br i1 %"memoryref_isinbounds¬ovflw44", label %idxend50, label %oob45, !dbg !1318 L146: ; preds = %load55 br label %L147, !dbg !1312 L147: ; preds = %L146 %124 = icmp eq i64 %value_phi18, %54, !dbg !1319 %125 = xor i1 %124, true, !dbg !1320 br i1 %125, label %L150, label %L149, !dbg !1320 L149: ; preds = %L147 br label %L152, !dbg !1320 L150: ; preds = %L147 %126 = add i64 %value_phi18, 1, !dbg !1323 br label %L152, !dbg !1320 L152: ; preds = %L150, %L149 %value_phi57 = phi i64 [ %126, %L150 ], [ undef, %L149 ] %value_phi58 = phi i64 [ %126, %L150 ], [ undef, %L149 ] %value_phi59 = phi i8 [ 1, %L149 ], [ 0, %L150 ] br label %L156, !dbg !1321 L156: ; preds = %L152 %127 = trunc i8 %value_phi59 to i1, !dbg !1322 %128 = xor i1 %127, true, !dbg !1322 %129 = xor i1 %128, true, !dbg !1322 br i1 %129, label %L159, label %L158, !dbg !1322 L158: ; preds = %L156 br label %L86, !dbg !1266 L159: ; preds = %L156, %L84 br label %L163, !dbg !1325 L160: ; preds = %L55 %"-Core.BoundsError#70692" = load ptr, ptr @_Core_BoundsError_70692, align 8, !dbg !1205, !tbaa !29, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !40, !align !41 %130 = addrspacecast ptr %"-Core.BoundsError#70692" to ptr addrspace(10), !dbg !1205 %"+Core.BoundsError#70653" = load ptr, ptr @_Core_BoundsError_70653, align 8, !dbg !1205, !tbaa !29, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !42, !align !43 %131 = addrspacecast ptr %"+Core.BoundsError#70653" to ptr addrspace(10), !dbg !1205 %"+Main.Base.LinearIndices#70693" = load ptr, ptr @_Main_Base_LinearIndices_70693, align 8, !dbg !1205, !tbaa !29, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !42, !align !43 %LinearIndices = ptrtoint ptr %"+Main.Base.LinearIndices#70693" to i64, !dbg !1205 %132 = inttoptr i64 %LinearIndices to ptr, !dbg !1205 %current_task66 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !1205 %133 = addrspacecast ptr %132 to ptr addrspace(10), !dbg !1205 %"box::LinearIndices" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task66, i64 8, ptr addrspace(10) %133) #33, !dbg !1205 %134 = addrspacecast ptr addrspace(10) %"box::LinearIndices" to ptr addrspace(11), !dbg !1205 call void @llvm.memcpy.p11.p0.i64(ptr addrspace(11) align 8 %134, ptr align 8 %"new::LinearIndices", i64 8, i1 false), !dbg !1205, !tbaa !44, !alias.scope !1124, !noalias !131 %135 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %130, ptr addrspace(10) %131, ptr addrspace(10) %"dest::Array", ptr addrspace(10) %"box::LinearIndices"), !dbg !1205 %136 = addrspacecast ptr addrspace(10) %135 to ptr addrspace(12), !dbg !1205 call void @ijl_throw(ptr addrspace(12) %136), !dbg !1205 unreachable, !dbg !1205 L163: ; preds = %L159, %L54 %value_phi7 = phi ptr addrspace(10) [ %"dest::Array", %L54 ], [ %"dest::Array", %L159 ] ret ptr addrspace(10) %value_phi7, !dbg !1207 oob: ; preds = %L123 %"+Core.GenericMemoryRef#70619" = load ptr, ptr @_Core_GenericMemoryRef_70619, align 8, !dbg !1308, !tbaa !29, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !42, !align !43 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#70619" to i64, !dbg !1308 %137 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !1308 %current_task24 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !1308 %138 = addrspacecast ptr %137 to ptr addrspace(10), !dbg !1308 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task24, i64 16, ptr addrspace(10) %138) #33, !dbg !1308 %139 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !1308 store { ptr, ptr addrspace(10) } %root_phi.ref, ptr addrspace(11) %139, align 8, !dbg !1308, !tbaa !344, !alias.scope !348, !noalias !349 %140 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !1308 call void @ijl_bounds_error_int(ptr addrspace(12) %140, i64 %80), !dbg !1308 unreachable, !dbg !1308 idxend: ; preds = %L123 %141 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !1308 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %141, ptr addrspace(10) %memoryref_mem, 1, !dbg !1308 %142 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !1308 %143 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %142, i32 0, i32 0, !dbg !1308 %memory_len25 = load i64, ptr addrspace(11) %143, align 8, !dbg !1308, !tbaa !93, !range !95, !alias.scope !91, !noalias !92 %144 = icmp eq i64 %memory_len25, 0, !dbg !1308 br i1 %144, label %oob26, label %load, !dbg !1308 oob26: ; preds = %idxend %145 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !1308 call void @ijl_bounds_error_int(ptr addrspace(12) %145, i64 1), !dbg !1308 unreachable, !dbg !1308 load: ; preds = %idxend %146 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !1308 %memoryref_data27 = getelementptr inbounds i8, ptr addrspace(13) %146, i64 %memoryref_byteoffset, !dbg !1308 %147 = load double, ptr addrspace(13) %memoryref_data27, align 8, !dbg !1308, !tbaa !1052, !alias.scope !348, !noalias !349 br label %L127, !dbg !1308 oob45: ; preds = %L142 %"+Core.GenericMemoryRef#7061946" = load ptr, ptr @_Core_GenericMemoryRef_70619, align 8, !dbg !1318, !tbaa !29, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !42, !align !43 %GenericMemoryRef47 = ptrtoint ptr %"+Core.GenericMemoryRef#7061946" to i64, !dbg !1318 %148 = inttoptr i64 %GenericMemoryRef47 to ptr, !dbg !1318 %current_task48 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !1318 %149 = addrspacecast ptr %148 to ptr addrspace(10), !dbg !1318 %"box::GenericMemoryRef49" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task48, i64 16, ptr addrspace(10) %149) #33, !dbg !1318 %150 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(11), !dbg !1318 store { ptr, ptr addrspace(10) } %"dest::Array.ref31", ptr addrspace(11) %150, align 8, !dbg !1318, !tbaa !344, !alias.scope !348, !noalias !349 %151 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(12), !dbg !1318 call void @ijl_bounds_error_int(ptr addrspace(12) %151, i64 %102), !dbg !1318 unreachable, !dbg !1318 idxend50: ; preds = %L142 %152 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset38, 0, !dbg !1318 %memory_ref51 = insertvalue { ptr, ptr addrspace(10) } %152, ptr addrspace(10) %memoryref_mem52, 1, !dbg !1318 %153 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !1318 %154 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %153, i32 0, i32 0, !dbg !1318 %memory_len53 = load i64, ptr addrspace(11) %154, align 8, !dbg !1318, !tbaa !93, !range !95, !alias.scope !91, !noalias !92 %155 = icmp eq i64 %memory_len53, 0, !dbg !1318 br i1 %155, label %oob54, label %load55, !dbg !1318 oob54: ; preds = %idxend50 %156 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(12), !dbg !1318 call void @ijl_bounds_error_int(ptr addrspace(12) %156, i64 1), !dbg !1318 unreachable, !dbg !1318 load55: ; preds = %idxend50 %157 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem52, ptr %memoryref_data32), !dbg !1318 %memoryref_data56 = getelementptr inbounds i8, ptr addrspace(13) %157, i64 %memoryref_byteoffset37, !dbg !1318 store double %147, ptr addrspace(13) %memoryref_data56, align 8, !dbg !1318, !tbaa !1052, !alias.scope !348, !noalias !349 br label %L146, !dbg !1326 after_error: ; No predecessors! call void @llvm.trap(), !dbg !1310 unreachable, !dbg !1310 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !1310 unreachable, !dbg !1310 after_error62: ; No predecessors! call void @llvm.trap(), !dbg !1305 unreachable, !dbg !1305 after_noret63: ; No predecessors! call void @llvm.trap(), !dbg !1305 unreachable, !dbg !1305 after_error64: ; No predecessors! call void @llvm.trap(), !dbg !1280 unreachable, !dbg !1280 after_noret65: ; No predecessors! call void @llvm.trap(), !dbg !1280 unreachable, !dbg !1280 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !1205 unreachable, !dbg !1205 after_noret67: ; No predecessors! call void @llvm.trap(), !dbg !1205 unreachable, !dbg !1205 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(copyto!), Vector{Float64}, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}) 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:542 [inlined] [14] (::VLBIImagePriorsEnzymeExt.var"#_to_simplex_pullback#_to_simplex_pullback##0"{AdditiveLR, Matrix{Float64}, Matrix{Float64}})(Δ::Matrix{Float64}) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:89 [15] _test_inferred(f::Any, args::Any; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:265 [16] _test_inferred @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:263 [inlined] [17] macro expansion @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:220 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, testset_name::Any, kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:205 [20] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:181 [21] test_rrule(::Any, ::Vararg{Any}; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:178 [22] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:177 [23] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:44 [24] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [25] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:53 [inlined] [26] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [27] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [28] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [29] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:22 [inlined] [30] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [31] top-level scope @ none:6 [32] eval(m::Module, e::Any) @ Core ./boot.jl:489 [33] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [34] _start() @ Base ./client.jl:577 test_rrule: to_simplex on CenteredLR,Matrix{Float64}: Error During Test at /home/pkgeval/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:202 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:542 [inlined] [16] (::VLBIImagePriorsEnzymeExt.var"#_to_simplex_pullback#_to_simplex_pullback##0"{CenteredLR, Matrix{Float64}, Matrix{Float64}})(Δ::Matrix{Float64}) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:89 [17] _test_inferred(f::Any, args::Any; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:265 [18] _test_inferred @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:263 [inlined] [19] macro expansion @ ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:220 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}; output_tangent::Any, check_thunked_output_tangent::Any, fdm::Any, rrule_f::Any, check_inferred::Bool, fkwargs::NamedTuple, rtol::Real, atol::Real, testset_name::Any, kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:205 [22] test_rrule(::RuleConfig, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:181 [23] test_rrule(::Any, ::Vararg{Any}; kwargs...) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:178 [24] test_rrule(::Any, ::Any, ::Any, ::Vararg{Any}) @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/testers.jl:177 [25] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:44 [26] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [27] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:54 [inlined] [28] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [29] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [30] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [31] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:22 [inlined] [32] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [33] top-level scope @ none:6 [34] eval(m::Module, e::Any) @ Core ./boot.jl:489 [35] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [36] _start() @ Base ./client.jl:577 Log Ratio Transform: Error During Test at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:43 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal nonnull ptr addrspace(10) @julia_copyto__71833(ptr addrspace(10) noundef nonnull align 8 dereferenceable(24) %"dest::Array", ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(40) %"src::SubArray", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.src) #16 !dbg !516 { top: %"dest::Array.size" = alloca i64, align 8 %sret_box = alloca [5 x i64], align 8 %0 = alloca ptr addrspace(10), align 8 %1 = alloca ptr addrspace(10), align 8 %2 = alloca [5 x i64], align 8 %3 = alloca [5 x i64], align 8 %"dest::Array.size9" = alloca i64, align 8 %"new::LinearIndices" = alloca [1 x [1 x [1 x i64]]], align 8 %"new::Tuple" = alloca [1 x i64], align 8 %root_phi.size = alloca i64, align 8 %"dest::Array.size29" = alloca i64, align 8 %"new::Tuple60" = alloca [1 x i64], align 8 %"new::Tuple61" = alloca [1 x i64], align 8 %4 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %4, i8 0, i64 8, i1 false), !tbaa !28, !alias.scope !518, !noalias !519 call void @llvm.memset.p0.i64(ptr align 8 %1, i8 0, i64 8, i1 false), !tbaa !28, !alias.scope !518, !noalias !519 call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !28, !alias.scope !518, !noalias !519 %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 !28 %5 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %5 monotonic, align 8, !tbaa !32 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %6 = getelementptr inbounds i8, ptr %.roots.src, i32 0 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !32, !alias.scope !34, !noalias !37 %8 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !520 %.stop_ptr = getelementptr inbounds i8, ptr addrspace(11) %8, i32 8, !dbg !533 %.stop_ptr.unbox = load i64, ptr addrspace(11) %.stop_ptr, align 8, !dbg !545, !tbaa !32, !alias.scope !34, !noalias !37 %.unbox = load i64, ptr addrspace(11) %8, align 8, !dbg !545, !tbaa !32, !alias.scope !34, !noalias !37 %9 = sub i64 %.stop_ptr.unbox, %.unbox, !dbg !545 %10 = add i64 1, %9, !dbg !548 %11 = icmp eq i64 %10, 0, !dbg !550 %12 = xor i1 %11, true, !dbg !532 br i1 %12, label %L10, label %L9, !dbg !532 L9: ; preds = %top ret ptr addrspace(10) %"dest::Array", !dbg !532 L10: ; preds = %top %13 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !552 %"dest::Array.size_ptr" = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !552 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size", ptr addrspace(11) align 8 %"dest::Array.size_ptr", i64 8, i1 false), !dbg !552, !tbaa !61, !alias.scope !561, !noalias !562 %"dest::Array.size.unbox" = load i64, ptr %"dest::Array.size", align 8, !dbg !563, !tbaa !503, !alias.scope !505, !noalias !506 %14 = icmp eq i64 %"dest::Array.size.unbox", 0, !dbg !563 %15 = xor i1 %14, true, !dbg !564 %16 = xor i1 %15, true, !dbg !556 br i1 %16, label %L39, label %L16, !dbg !556 L16: ; preds = %L10 %17 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !566 %.stop_ptr1 = getelementptr inbounds i8, ptr addrspace(11) %17, i32 8, !dbg !569 %.stop_ptr1.unbox = load i64, ptr addrspace(11) %.stop_ptr1, align 8, !dbg !575, !tbaa !32, !alias.scope !34, !noalias !37 %.unbox2 = load i64, ptr addrspace(11) %17, align 8, !dbg !575, !tbaa !32, !alias.scope !34, !noalias !37 %18 = sub i64 %.stop_ptr1.unbox, %.unbox2, !dbg !575 %19 = add i64 1, %18, !dbg !577 %20 = icmp eq i64 %19, 0, !dbg !563 %21 = xor i1 %20, true, !dbg !564 %22 = xor i1 %21, true, !dbg !556 br i1 %22, label %L38, label %L25, !dbg !556 L25: ; preds = %L16 %23 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !578 %24 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 0, !dbg !578 %25 = load ptr, ptr addrspace(11) %24, align 8, !dbg !578, !tbaa !581, !alias.scope !584, !noalias !585 %26 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 1, !dbg !578 %27 = load ptr addrspace(10), ptr addrspace(11) %26, align 8, !dbg !578, !tbaa !581, !alias.scope !584, !noalias !585, !dereferenceable_or_null !47, !align !57 %28 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %25, 0, !dbg !578 %"dest::Array.ref" = insertvalue { ptr, ptr addrspace(10) } %28, ptr addrspace(10) %27, 1, !dbg !578 %"dest::Array.ref.mem" = extractvalue { ptr, ptr addrspace(10) } %"dest::Array.ref", 1, !dbg !578 %29 = addrspacecast ptr addrspace(10) %"dest::Array.ref.mem" to ptr addrspace(11), !dbg !586 %"dest::Array.ref.mem.ptr_ptr" = getelementptr inbounds i8, ptr addrspace(11) %29, i32 8, !dbg !586 %bitcast = load ptr, ptr addrspace(11) %"dest::Array.ref.mem.ptr_ptr", align 8, !dbg !588, !tbaa !591, !alias.scope !584, !noalias !585 %bitcast_coercion = ptrtoint ptr %bitcast to i64, !dbg !588 %30 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !593 %31 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 0, !dbg !593 %32 = load ptr, ptr addrspace(11) %31, align 8, !dbg !593, !tbaa !581, !alias.scope !584, !noalias !585 %33 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !593 %34 = load ptr addrspace(10), ptr addrspace(11) %33, align 8, !dbg !593, !tbaa !581, !alias.scope !584, !noalias !585, !dereferenceable_or_null !47, !align !57 %35 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %32, 0, !dbg !593 %.ref = insertvalue { ptr, ptr addrspace(10) } %35, ptr addrspace(10) %34, 1, !dbg !593 %.ref.mem = extractvalue { ptr, ptr addrspace(10) } %.ref, 1, !dbg !593 %36 = addrspacecast ptr addrspace(10) %.ref.mem to ptr addrspace(11), !dbg !597 %.ref.mem.ptr_ptr = getelementptr inbounds i8, ptr addrspace(11) %36, i32 8, !dbg !597 %bitcast3 = load ptr, ptr addrspace(11) %.ref.mem.ptr_ptr, align 8, !dbg !599, !tbaa !591, !alias.scope !584, !noalias !585 %bitcast_coercion4 = ptrtoint ptr %bitcast3 to i64, !dbg !599 %37 = icmp eq i64 %bitcast_coercion, %bitcast_coercion4, !dbg !600 %38 = xor i1 %37, true, !dbg !605 %39 = xor i1 %38, true, !dbg !564 %40 = zext i1 %39 to i8 br label %L40, !dbg !564 L38: ; preds = %L16 br label %L40, !dbg !606 L39: ; preds = %L10 br label %L40, !dbg !606 L40: ; preds = %L39, %L38, %L25 %value_phi = phi i8 [ %40, %L25 ], [ 0, %L38 ], [ 0, %L39 ] %41 = trunc i8 %value_phi to i1, !dbg !558 %42 = xor i1 %41, true, !dbg !558 br i1 %42, label %L44, label %L42, !dbg !558 L42: ; preds = %L40 %43 = getelementptr inbounds i8, ptr %1, i32 0, !dbg !558 store ptr addrspace(10) %7, ptr %43, align 8, !dbg !558 call void @julia_unaliascopy_71840(ptr noalias nocapture noundef sret({ ptr addrspace(10), [1 x [2 x i64]], i64, i64 }) %sret_box, ptr noalias nocapture noundef "enzymejl_returnRoots" %0, ptr addrspace(11) nocapture readonly %"src::SubArray", ptr nocapture readonly %1), !dbg !558 %44 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !558 %45 = load ptr addrspace(10), ptr %44, align 8, !dbg !558, !tbaa !28, !alias.scope !518, !noalias !519 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !609 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %sret_box, i64 40, i1 false), !dbg !609, !tbaa !61, !alias.scope !610, !noalias !611 br label %L45, !dbg !558 L44: ; preds = %L40 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !609 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %3, ptr addrspace(11) align 8 %"src::SubArray", i64 40, i1 false), !dbg !609, !tbaa !61, !alias.scope !501, !noalias !502 br label %L45, !dbg !606 L45: ; preds = %L44, %L42 %root_phi = phi ptr addrspace(10) [ %45, %L42 ], [ %7, %L44 ] call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %3, i64 40, i1 false), !dbg !560 call void @llvm.lifetime.end.p0(i64 -1, ptr %3), !dbg !560 %46 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !612 %.stop_ptr5 = getelementptr inbounds i8, ptr %46, i32 8, !dbg !618 %.stop_ptr5.unbox = load i64, ptr %.stop_ptr5, align 8, !dbg !624, !tbaa !503, !alias.scope !505, !noalias !506 %.unbox6 = load i64, ptr %46, align 8, !dbg !624, !tbaa !503, !alias.scope !505, !noalias !506 %47 = sub i64 %.stop_ptr5.unbox, %.unbox6, !dbg !624 %48 = add i64 1, %47, !dbg !626 %49 = icmp eq i64 %48, 0, !dbg !627 %50 = xor i1 %49, true, !dbg !617 br i1 %50, label %L55, label %L54, !dbg !617 L54: ; preds = %L45 br label %L163, !dbg !617 L55: ; preds = %L45 %51 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !628 %"dest::Array.size_ptr8" = getelementptr inbounds i8, ptr addrspace(11) %51, i32 16, !dbg !628 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size9", ptr addrspace(11) align 8 %"dest::Array.size_ptr8", i64 8, i1 false), !dbg !628, !tbaa !61, !alias.scope !561, !noalias !562 %52 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !634 %.stop_ptr10 = getelementptr inbounds i8, ptr %52, i32 8, !dbg !636 %.stop_ptr10.unbox = load i64, ptr %.stop_ptr10, align 8, !dbg !642, !tbaa !503, !alias.scope !505, !noalias !506 %.unbox11 = load i64, ptr %52, align 8, !dbg !642, !tbaa !503, !alias.scope !505, !noalias !506 %53 = sub i64 %.stop_ptr10.unbox, %.unbox11, !dbg !642 %54 = add i64 1, %53, !dbg !644 %55 = getelementptr inbounds i8, ptr %"new::LinearIndices", i32 0, !dbg !645 %56 = getelementptr inbounds i8, ptr %55, i32 0, !dbg !645 %57 = getelementptr inbounds i8, ptr %56, i32 0, !dbg !645 store i64 %54, ptr %57, align 8, !dbg !645, !tbaa !503, !alias.scope !505, !noalias !506 %bitcast12 = load i64, ptr %"dest::Array.size9", align 8, !dbg !650, !tbaa !503, !alias.scope !505, !noalias !506 %58 = icmp ult i64 0, %bitcast12, !dbg !658 %59 = add i64 %54, 0, !dbg !660 %60 = sub i64 %59, 1, !dbg !661 %bitcast13 = load i64, ptr %"dest::Array.size9", align 8, !dbg !650, !tbaa !503, !alias.scope !505, !noalias !506 %61 = icmp ult i64 %60, %bitcast13, !dbg !658 %62 = and i1 %58, %61, !dbg !662 %63 = xor i1 %62, true, !dbg !606 br i1 %63, label %L160, label %L76, !dbg !606 L76: ; preds = %L55 %64 = icmp slt i64 %54, 1, !dbg !664 %65 = xor i1 %64, true, !dbg !669 br i1 %65, label %L79, label %L78, !dbg !669 L78: ; preds = %L76 br label %L80, !dbg !669 L79: ; preds = %L76 br label %L80, !dbg !669 L80: ; preds = %L79, %L78 %value_phi14 = phi i8 [ 1, %L78 ], [ 0, %L79 ] %value_phi15 = phi i64 [ 1, %L79 ], [ undef, %L78 ] %value_phi16 = phi i64 [ 1, %L79 ], [ undef, %L78 ] br label %L84, !dbg !671 L84: ; preds = %L80 %66 = trunc i8 %value_phi14 to i1, !dbg !673 %67 = xor i1 %66, true, !dbg !673 %68 = xor i1 %67, true, !dbg !673 br i1 %68, label %L159, label %L84.L86_crit_edge, !dbg !673 L84.L86_crit_edge: ; preds = %L84 br label %L86, !dbg !669 L86: ; preds = %L84.L86_crit_edge, %L158 %value_phi17 = phi i64 [ %value_phi15, %L84.L86_crit_edge ], [ %value_phi57, %L158 ] %value_phi18 = phi i64 [ %value_phi16, %L84.L86_crit_edge ], [ %value_phi58, %L158 ] br i1 false, label %L106, label %L90, !dbg !674 L90: ; preds = %L86 %69 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !674 store i64 %value_phi17, ptr %69, align 8, !dbg !674, !tbaa !503, !alias.scope !505, !noalias !506 %70 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !677 %.stop_ptr19 = getelementptr inbounds i8, ptr %70, i32 8, !dbg !684 %.stop_ptr19.unbox = load i64, ptr %.stop_ptr19, align 8, !dbg !693, !tbaa !503, !alias.scope !505, !noalias !506 %.unbox20 = load i64, ptr %70, align 8, !dbg !693, !tbaa !503, !alias.scope !505, !noalias !506 %71 = sub i64 %.stop_ptr19.unbox, %.unbox20, !dbg !693 %72 = add i64 1, %71, !dbg !695 %73 = sub i64 %value_phi17, 1, !dbg !696 %74 = icmp ult i64 %73, %72, !dbg !698 %75 = xor i1 %74, true, !dbg !683 br i1 %75, label %L103, label %L102, !dbg !683 L102: ; preds = %L90 br label %L105, !dbg !683 L103: ; preds = %L90 %76 = getelementptr inbounds i8, ptr %4, i32 0, !dbg !683 store ptr addrspace(10) %root_phi, ptr %76, align 8, !dbg !683 %77 = addrspacecast ptr %2 to ptr addrspace(11), !dbg !683 %78 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !683 call void @julia_throw_boundserror_71799(ptr addrspace(11) nocapture readonly %77, ptr nocapture readonly %4, ptr addrspace(11) nocapture readonly %78) #36, !dbg !683 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2), !dbg !683 unreachable, !dbg !683 L105: ; preds = %L102 br label %L106, !dbg !683 L106: ; preds = %L105, %L86 %79 = getelementptr inbounds i8, ptr %2, i32 24, !dbg !699 %.unbox21 = load i64, ptr %79, align 8, !dbg !703, !tbaa !503, !alias.scope !505, !noalias !506 %80 = add i64 %.unbox21, %value_phi17, !dbg !703 br i1 false, label %L123, label %L111, !dbg !704 L111: ; preds = %L106 %81 = sub i64 %80, 1, !dbg !706 %82 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !709 %root_phi.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %82, i32 16, !dbg !709 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %root_phi.size, ptr addrspace(11) align 8 %root_phi.size_ptr, i64 8, i1 false), !dbg !709, !tbaa !61, !alias.scope !561, !noalias !562 %bitcast22 = load i64, ptr %root_phi.size, align 8, !dbg !706, !tbaa !503, !alias.scope !505, !noalias !506 %83 = icmp ult i64 %81, %bitcast22, !dbg !706 %84 = xor i1 %83, true, !dbg !708 br i1 %84, label %L119, label %L118, !dbg !708 L118: ; preds = %L111 br label %L122, !dbg !708 L119: ; preds = %L111 %85 = getelementptr inbounds i8, ptr %"new::Tuple61", i32 0, !dbg !708 store i64 %80, ptr %85, align 8, !dbg !708, !tbaa !503, !alias.scope !505, !noalias !506 %86 = addrspacecast ptr %"new::Tuple61" to ptr addrspace(11), !dbg !708 call void @julia_throw_boundserror_71797(ptr addrspace(10) %root_phi, ptr addrspace(11) nocapture readonly %86) #36, !dbg !708 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2), !dbg !708 unreachable, !dbg !708 L122: ; preds = %L118 br label %L123, !dbg !708 L123: ; preds = %L122, %L106 %87 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !711 %88 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 0, !dbg !711 %memoryref_data = load ptr, ptr addrspace(11) %88, align 8, !dbg !711, !tbaa !581, !alias.scope !584, !noalias !585 %89 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 1, !dbg !711 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %89, align 8, !dbg !711, !tbaa !581, !alias.scope !584, !noalias !585, !dereferenceable_or_null !47, !align !57 %90 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !711 %root_phi.ref = insertvalue { ptr, ptr addrspace(10) } %90, ptr addrspace(10) %memoryref_mem, 1, !dbg !711 %memoryref_offset = sub i64 %80, 1, !dbg !711 %91 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !711 %92 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %91, i32 0, i32 0, !dbg !711 %memory_len = load i64, ptr addrspace(11) %92, align 8, !dbg !711, !tbaa !712, !range !714, !alias.scope !584, !noalias !585 %93 = add nuw i64 %memory_len, %memory_len, !dbg !711 %94 = add i64 %memoryref_offset, %memory_len, !dbg !711 %memoryref_ovflw = icmp uge i64 %94, %93, !dbg !711 %memoryref_byteoffset = mul i64 %memoryref_offset, 8, !dbg !711 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 %memoryref_byteoffset, !dbg !711 %95 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !711 %96 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %95, i32 0, i32 0, !dbg !711 %memory_len23 = load i64, ptr addrspace(11) %96, align 8, !dbg !711, !tbaa !712, !range !714, !alias.scope !584, !noalias !585 %97 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !711 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %97, i32 0, i32 1, !dbg !711 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !711, !tbaa !591, !alias.scope !584, !noalias !585, !nonnull !0 %98 = ptrtoint ptr %memory_data to i64, !dbg !711 %99 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !711 %100 = sub i64 %99, %98, !dbg !711 %memoryref_bytelen = mul nuw nsw i64 %memory_len23, 8, !dbg !711 %memoryref_isinbounds = icmp ult i64 %100, %memoryref_bytelen, !dbg !711 %101 = xor i1 %memoryref_ovflw, true, !dbg !711 %"memoryref_isinbounds¬ovflw" = and i1 %101, %memoryref_isinbounds, !dbg !711 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !711 L127: ; preds = %load br label %L128, !dbg !711 L128: ; preds = %L127 %102 = add i64 %value_phi17, 0, !dbg !715 br i1 false, label %L142, label %L131, !dbg !716 L131: ; preds = %L128 %103 = sub i64 %102, 1, !dbg !721 %104 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !722 %"dest::Array.size_ptr28" = getelementptr inbounds i8, ptr addrspace(11) %104, i32 16, !dbg !722 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size29", ptr addrspace(11) align 8 %"dest::Array.size_ptr28", i64 8, i1 false), !dbg !722, !tbaa !61, !alias.scope !561, !noalias !562 %bitcast30 = load i64, ptr %"dest::Array.size29", align 8, !dbg !721, !tbaa !503, !alias.scope !505, !noalias !506 %105 = icmp ult i64 %103, %bitcast30, !dbg !721 %106 = xor i1 %105, true, !dbg !716 br i1 %106, label %L139, label %L138, !dbg !716 L138: ; preds = %L131 br label %L142, !dbg !716 L139: ; preds = %L131 %107 = getelementptr inbounds i8, ptr %"new::Tuple60", i32 0, !dbg !716 store i64 %102, ptr %107, align 8, !dbg !716, !tbaa !503, !alias.scope !505, !noalias !506 %108 = addrspacecast ptr %"new::Tuple60" to ptr addrspace(11), !dbg !716 call void @julia_throw_boundserror_71797(ptr addrspace(10) %"dest::Array", ptr addrspace(11) nocapture readonly %108) #36, !dbg !716 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2), !dbg !716 unreachable, !dbg !716 L142: ; preds = %L138, %L128 %109 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !724 %110 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 0, !dbg !724 %memoryref_data32 = load ptr, ptr addrspace(11) %110, align 8, !dbg !724, !tbaa !581, !alias.scope !584, !noalias !585 %111 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 1, !dbg !724 %memoryref_mem52 = load ptr addrspace(10), ptr addrspace(11) %111, align 8, !dbg !724, !tbaa !581, !alias.scope !584, !noalias !585, !dereferenceable_or_null !47, !align !57 %112 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data32, 0, !dbg !724 %"dest::Array.ref31" = insertvalue { ptr, ptr addrspace(10) } %112, ptr addrspace(10) %memoryref_mem52, 1, !dbg !724 %memoryref_offset34 = sub i64 %102, 1, !dbg !725 %113 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !725 %114 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %113, i32 0, i32 0, !dbg !725 %memory_len35 = load i64, ptr addrspace(11) %114, align 8, !dbg !725, !tbaa !712, !range !714, !alias.scope !584, !noalias !585 %115 = add nuw i64 %memory_len35, %memory_len35, !dbg !725 %116 = add i64 %memoryref_offset34, %memory_len35, !dbg !725 %memoryref_ovflw36 = icmp uge i64 %116, %115, !dbg !725 %memoryref_byteoffset37 = mul i64 %memoryref_offset34, 8, !dbg !725 %memoryref_data_byteoffset38 = getelementptr i8, ptr %memoryref_data32, i64 %memoryref_byteoffset37, !dbg !725 %117 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !725 %118 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %117, i32 0, i32 0, !dbg !725 %memory_len39 = load i64, ptr addrspace(11) %118, align 8, !dbg !725, !tbaa !712, !range !714, !alias.scope !584, !noalias !585 %119 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !725 %memory_data_ptr40 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %119, i32 0, i32 1, !dbg !725 %memory_data41 = load ptr, ptr addrspace(11) %memory_data_ptr40, align 8, !dbg !725, !tbaa !591, !alias.scope !584, !noalias !585, !nonnull !0 %120 = ptrtoint ptr %memory_data41 to i64, !dbg !725 %121 = ptrtoint ptr %memoryref_data_byteoffset38 to i64, !dbg !725 %122 = sub i64 %121, %120, !dbg !725 %memoryref_bytelen42 = mul nuw nsw i64 %memory_len39, 8, !dbg !725 %memoryref_isinbounds43 = icmp ult i64 %122, %memoryref_bytelen42, !dbg !725 %123 = xor i1 %memoryref_ovflw36, true, !dbg !725 %"memoryref_isinbounds¬ovflw44" = and i1 %123, %memoryref_isinbounds43, !dbg !725 br i1 %"memoryref_isinbounds¬ovflw44", label %idxend50, label %oob45, !dbg !725 L146: ; preds = %load55 br label %L147, !dbg !719 L147: ; preds = %L146 %124 = icmp eq i64 %value_phi18, %54, !dbg !726 %125 = xor i1 %124, true, !dbg !727 br i1 %125, label %L150, label %L149, !dbg !727 L149: ; preds = %L147 br label %L152, !dbg !727 L150: ; preds = %L147 %126 = add i64 %value_phi18, 1, !dbg !730 br label %L152, !dbg !727 L152: ; preds = %L150, %L149 %value_phi57 = phi i64 [ %126, %L150 ], [ undef, %L149 ] %value_phi58 = phi i64 [ %126, %L150 ], [ undef, %L149 ] %value_phi59 = phi i8 [ 1, %L149 ], [ 0, %L150 ] br label %L156, !dbg !728 L156: ; preds = %L152 %127 = trunc i8 %value_phi59 to i1, !dbg !729 %128 = xor i1 %127, true, !dbg !729 %129 = xor i1 %128, true, !dbg !729 br i1 %129, label %L159, label %L158, !dbg !729 L158: ; preds = %L156 br label %L86, !dbg !669 L159: ; preds = %L156, %L84 br label %L163, !dbg !732 L160: ; preds = %L55 %"-Core.BoundsError#71838" = load ptr, ptr @_Core_BoundsError_71838, align 8, !dbg !606, !tbaa !32, !alias.scope !34, !noalias !37, !nonnull !0, !dereferenceable !56, !align !57 %130 = addrspacecast ptr %"-Core.BoundsError#71838" to ptr addrspace(10), !dbg !606 %"+Core.BoundsError#71789" = load ptr, ptr @_Core_BoundsError_71789, align 8, !dbg !606, !tbaa !32, !alias.scope !34, !noalias !37, !nonnull !0, !dereferenceable !46, !align !47 %131 = addrspacecast ptr %"+Core.BoundsError#71789" to ptr addrspace(10), !dbg !606 %"+Main.Base.LinearIndices#71839" = load ptr, ptr @_Main_Base_LinearIndices_71839, align 8, !dbg !606, !tbaa !32, !alias.scope !34, !noalias !37, !nonnull !0, !dereferenceable !46, !align !47 %LinearIndices = ptrtoint ptr %"+Main.Base.LinearIndices#71839" to i64, !dbg !606 %132 = inttoptr i64 %LinearIndices to ptr, !dbg !606 %current_task66 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !606 %133 = addrspacecast ptr %132 to ptr addrspace(10), !dbg !606 %"box::LinearIndices" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task66, i64 8, ptr addrspace(10) %133) #37, !dbg !606 %134 = addrspacecast ptr addrspace(10) %"box::LinearIndices" to ptr addrspace(11), !dbg !606 call void @llvm.memcpy.p11.p0.i64(ptr addrspace(11) align 8 %134, ptr align 8 %"new::LinearIndices", i64 8, i1 false), !dbg !606, !tbaa !61, !alias.scope !509, !noalias !510 %135 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %130, ptr addrspace(10) %131, ptr addrspace(10) %"dest::Array", ptr addrspace(10) %"box::LinearIndices"), !dbg !606 %136 = addrspacecast ptr addrspace(10) %135 to ptr addrspace(12), !dbg !606 call void @ijl_throw(ptr addrspace(12) %136), !dbg !606 unreachable, !dbg !606 L163: ; preds = %L159, %L54 %value_phi7 = phi ptr addrspace(10) [ %"dest::Array", %L54 ], [ %"dest::Array", %L159 ] ret ptr addrspace(10) %value_phi7, !dbg !608 oob: ; preds = %L123 %"+Core.GenericMemoryRef#71771" = load ptr, ptr @_Core_GenericMemoryRef_71771, align 8, !dbg !711, !tbaa !32, !alias.scope !34, !noalias !37, !nonnull !0, !dereferenceable !46, !align !47 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#71771" to i64, !dbg !711 %137 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !711 %current_task24 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !711 %138 = addrspacecast ptr %137 to ptr addrspace(10), !dbg !711 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task24, i64 16, ptr addrspace(10) %138) #37, !dbg !711 %139 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !711 store { ptr, ptr addrspace(10) } %root_phi.ref, ptr addrspace(11) %139, align 8, !dbg !711, !tbaa !54, !alias.scope !52, !noalias !53 %140 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !711 call void @ijl_bounds_error_int(ptr addrspace(12) %140, i64 %80), !dbg !711 unreachable, !dbg !711 idxend: ; preds = %L123 %141 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !711 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %141, ptr addrspace(10) %memoryref_mem, 1, !dbg !711 %142 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !711 %143 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %142, i32 0, i32 0, !dbg !711 %memory_len25 = load i64, ptr addrspace(11) %143, align 8, !dbg !711, !tbaa !712, !range !714, !alias.scope !584, !noalias !585 %144 = icmp eq i64 %memory_len25, 0, !dbg !711 br i1 %144, label %oob26, label %load, !dbg !711 oob26: ; preds = %idxend %145 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !711 call void @ijl_bounds_error_int(ptr addrspace(12) %145, i64 1), !dbg !711 unreachable, !dbg !711 load: ; preds = %idxend %146 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !711 %memoryref_data27 = getelementptr inbounds i8, ptr addrspace(13) %146, i64 %memoryref_byteoffset, !dbg !711 %147 = load double, ptr addrspace(13) %memoryref_data27, align 8, !dbg !711, !tbaa !733, !alias.scope !52, !noalias !53 br label %L127, !dbg !711 oob45: ; preds = %L142 %"+Core.GenericMemoryRef#7177146" = load ptr, ptr @_Core_GenericMemoryRef_71771, align 8, !dbg !725, !tbaa !32, !alias.scope !34, !noalias !37, !nonnull !0, !dereferenceable !46, !align !47 %GenericMemoryRef47 = ptrtoint ptr %"+Core.GenericMemoryRef#7177146" to i64, !dbg !725 %148 = inttoptr i64 %GenericMemoryRef47 to ptr, !dbg !725 %current_task48 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !725 %149 = addrspacecast ptr %148 to ptr addrspace(10), !dbg !725 %"box::GenericMemoryRef49" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task48, i64 16, ptr addrspace(10) %149) #37, !dbg !725 %150 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(11), !dbg !725 store { ptr, ptr addrspace(10) } %"dest::Array.ref31", ptr addrspace(11) %150, align 8, !dbg !725, !tbaa !54, !alias.scope !52, !noalias !53 %151 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(12), !dbg !725 call void @ijl_bounds_error_int(ptr addrspace(12) %151, i64 %102), !dbg !725 unreachable, !dbg !725 idxend50: ; preds = %L142 %152 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset38, 0, !dbg !725 %memory_ref51 = insertvalue { ptr, ptr addrspace(10) } %152, ptr addrspace(10) %memoryref_mem52, 1, !dbg !725 %153 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !725 %154 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %153, i32 0, i32 0, !dbg !725 %memory_len53 = load i64, ptr addrspace(11) %154, align 8, !dbg !725, !tbaa !712, !range !714, !alias.scope !584, !noalias !585 %155 = icmp eq i64 %memory_len53, 0, !dbg !725 br i1 %155, label %oob54, label %load55, !dbg !725 oob54: ; preds = %idxend50 %156 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(12), !dbg !725 call void @ijl_bounds_error_int(ptr addrspace(12) %156, i64 1), !dbg !725 unreachable, !dbg !725 load55: ; preds = %idxend50 %157 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem52, ptr %memoryref_data32), !dbg !725 %memoryref_data56 = getelementptr inbounds i8, ptr addrspace(13) %157, i64 %memoryref_byteoffset37, !dbg !725 store double %147, ptr addrspace(13) %memoryref_data56, align 8, !dbg !725, !tbaa !733, !alias.scope !52, !noalias !53 br label %L146, !dbg !735 after_error: ; No predecessors! call void @llvm.trap(), !dbg !716 unreachable, !dbg !716 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !716 unreachable, !dbg !716 after_error62: ; No predecessors! call void @llvm.trap(), !dbg !708 unreachable, !dbg !708 after_noret63: ; No predecessors! call void @llvm.trap(), !dbg !708 unreachable, !dbg !708 after_error64: ; No predecessors! call void @llvm.trap(), !dbg !683 unreachable, !dbg !683 after_noret65: ; No predecessors! call void @llvm.trap(), !dbg !683 unreachable, !dbg !683 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !606 unreachable, !dbg !606 after_noret67: ; No predecessors! call void @llvm.trap(), !dbg !606 unreachable, !dbg !606 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(copyto!), Vector{Float64}, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}) 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:542 [inlined] [14] (::VLBIImagePriorsEnzymeExt.var"#_to_simplex_pullback#_to_simplex_pullback##1"{AdditiveLR, Matrix{Float64}, Matrix{Float64}})(Δ::InplaceableThunk{Thunk{ChainRules.var"#583#584"{Float64, Matrix{Float64}}}, ChainRules.var"#581#582"{Float64, Matrix{Float64}}}) @ VLBIImagePriorsEnzymeExt ~/.julia/packages/VLBIImagePriors/czA3i/ext/VLBIImagePriorsEnzymeExt.jl:102 [15] ZBack @ ~/.julia/packages/Zygote/55SqB/src/compiler/chainrules.jl:222 [inlined] [16] far @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:57 [inlined] [17] (::Zygote.Pullback{Tuple{var"#far#far##0", Matrix{Float64}}, Tuple{Zygote.ZBack{ChainRules.var"#sum_pullback#551"{Colon, Matrix{Float64}, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}}}, Zygote.ZBack{ChainRules.var"#slash_pullback_scalar#rrule##227"{Matrix{Float64}, Float64}}, Zygote.ZBack{VLBIImagePriorsEnzymeExt.var"#_to_simplex_pullback#_to_simplex_pullback##1"{AdditiveLR, Matrix{Float64}, Matrix{Float64}}}, Zygote.Pullback{Tuple{Type{AdditiveLR}}, Tuple{}}, Zygote.ZBack{ChainRules.var"#sum_abs2_pullback#580"{Matrix{Float64}}}}})(Δ::Float64) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:0 [18] (::Zygote.var"#pullback##0#pullback##1"{Zygote.Pullback{Tuple{var"#far#far##0", Matrix{Float64}}, Tuple{Zygote.ZBack{ChainRules.var"#sum_pullback#551"{Colon, Matrix{Float64}, ProjectTo{AbstractArray, @NamedTuple{element::ProjectTo{Float64, @NamedTuple{}}, axes::Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}}}, Zygote.ZBack{ChainRules.var"#slash_pullback_scalar#rrule##227"{Matrix{Float64}, Float64}}, Zygote.ZBack{VLBIImagePriorsEnzymeExt.var"#_to_simplex_pullback#_to_simplex_pullback##1"{AdditiveLR, Matrix{Float64}, Matrix{Float64}}}, Zygote.Pullback{Tuple{Type{AdditiveLR}}, Tuple{}}, Zygote.ZBack{ChainRules.var"#sum_abs2_pullback#580"{Matrix{Float64}}}}}})(Δ::Float64) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface.jl:97 [19] gradient(f::Function, args::Matrix{Float64}) @ Zygote ~/.julia/packages/Zygote/55SqB/src/compiler/interface.jl:154 [20] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:44 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/simplex.jl:60 [inlined] [23] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [24] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [25] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [26] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:22 [inlined] [27] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [28] top-level scope @ none:6 [29] eval(m::Module, e::Any) @ Core ./boot.jl:489 [30] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [31] _start() @ Base ./client.jl:577 Complex inplace transform: Error During Test at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/rules.jl:16 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(::ReverseMode{false, false, false, FFIABI, false, false}, ::var"#f#f##3", ::Const{FFTW.cFFTWPlan{ComplexF64, -1, true, 2, Tuple{Int64, Int64}}}, ::Duplicated{Matrix{ComplexF64}}) @ Enzyme ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [17] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/rules.jl:9 [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/rules.jl:17 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/rules.jl:20 [inlined] [22] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [23] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [24] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [25] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:23 [inlined] [26] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [27] top-level scope @ none:6 [28] eval(m::Module, e::Any) @ Core ./boot.jl:489 [29] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [30] _start() @ Base ./client.jl:577 R2R inplace transform: Error During Test at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/rules.jl:26 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(::ReverseMode{false, false, false, FFIABI, false, false}, ::var"#f#f##3", ::Const{FFTW.r2rFFTWPlan{Float64, Vector{Int32}, true, 2, Tuple{Int64, Int64}}}, ::Duplicated{Matrix{Float64}}) @ Enzyme ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:534 [17] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/rules.jl:9 [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/rules.jl:27 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/rules.jl:30 [inlined] [22] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [23] top-level scope @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:17 [24] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [25] macro expansion @ ~/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:23 [inlined] [26] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [27] top-level scope @ none:6 [28] eval(m::Module, e::Any) @ Core ./boot.jl:489 [29] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [30] _start() @ Base ./client.jl:577 Test Summary: | Pass Fail Error Total Time VLBIImagePriors.jl | 228 2 16 246 21m00.8s Angular Distributions | 54 54 3m52.3s CenteredRegularizer | 5 1 6 4m53.0s test_rrule: lcol on CenteredRegularizer{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, Float64, ImageDirichlet{Float64, FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, Float64}},Matrix{Float64} | 1 1 2 4m49.9s CenterImage | 26 26 2m39.0s ImageUniform | 12 1 13 18.3s test_rrule: _logpdf on ImageUniform{Float64},Matrix{Float64} | 8 8 2.3s ImageSphericalUniform | 4 4 7.9s ImageDirichlet | 5 1 6 29.6s GMRF | 43 5 48 5m23.7s MarkovRandomFieldGraph | 12 12 13.2s Tall | 12 2 14 2m34.2s Order 1 | 6 1 7 1m13.8s test_rrule: sq_manoblis on MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}},Matrix{Float64},Float64 | 1 1 2 2.5s Order 2 | 6 1 7 1m20.4s test_rrule: sq_manoblis on MarkovRandomFieldGraph{2, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}},Matrix{Float64},Float64 | 1 1 2 1.2s Wide | 16 2 18 2m12.3s Order 1 | 6 1 7 55.3s test_rrule: sq_manoblis on MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}},Matrix{Float64},Float64 | 1 1 2 0.1s Order 2 | 6 1 7 1m13.6s test_rrule: sq_manoblis on MarkovRandomFieldGraph{2, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}},Matrix{Float64},Float64 | 1 1 2 0.1s Order 3 | 4 4 3.5s Equal | 3 1 4 7.7s ExpMRF | 3 3 2.4s TDistMRF | 16 16 3.5s ConditionalMarkov | 3 3 0.5s Hierarchical Prior | 2 2 9.9s Noncenter Markov Gaussian | 1 1 6.4s StationaryRandomFieldPlan | 8 8 2.3s Power Spectra | 21 21 1m16.7s StdNormal | 8 2 10 16.3s matern | 6 6 0.2s Simplex | 6 2 8 4.6s ImageSimplex | 5 2 7 4.6s test_rrule: simplex_fwd on TransformVariables.NoLogJac,VLBIImagePriors.ImageSimplex,Vector{Float64} | 1 1 2 1.5s test_rrule: simplex_fwd on TransformVariables.LogJac,VLBIImagePriors.ImageSimplex,Vector{Float64} | 1 1 2 1.3s Log Ratio Transform | 6 3 9 16.1s test_rrule: to_simplex on AdditiveLR,Matrix{Float64} | 1 1 2 4.6s test_rrule: to_simplex on CenteredLR,Matrix{Float64} | 1 1 2 3.0s FFTW Rules | 2 2 2.9s Complex inplace transform | 1 1 1.8s R2R inplace transform | 1 1 1.1s RNG of the outermost testset: Random.Xoshiro(0x8d3c8e6458c4bff5, 0xc0ee3f55df19950b, 0x8a340f9b980bdd52, 0xba2de083b10bc620, 0x9a4cbe09c59f3c90) ERROR: LoadError: Some tests did not pass: 228 passed, 2 failed, 16 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/VLBIImagePriors/czA3i/test/runtests.jl:16 Testing failed after 1579.12s ERROR: LoadError: Package VLBIImagePriors 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 1683.28s: package tests unexpectedly errored