Package evaluation to test VLBIImagePriors on Julia 1.14.0-DEV.24 (d5fb6bbb43*) started at 2025-11-02T20:24:59.479 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 10.13s ################################################################################ # 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.1 [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.09s ################################################################################ # 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... 2996.0 ms ✓ DimensionalData → DimensionalDataStatsBase 7228.1 ms ✓ ComradeBase 3632.4 ms ✓ TransformVariables 3576.1 ms ✓ Distributions → DistributionsDensityInterfaceExt 5492.1 ms ✓ ComradeBase → ComradeBaseAdaptExt 2217.1 ms ✓ TransformVariables → InverseFunctionsExt 7633.1 ms ✓ HypercubeTransform 9230.0 ms ✓ VLBIImagePriors 8 dependencies successfully precompiled in 51 seconds. 157 already precompiled. Precompilation completed after 53.85s ################################################################################ # Testing # Testing VLBIImagePriors Status `/tmp/jl_qZCWTX/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_qZCWTX/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.1 [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.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"#back#_pullback##0"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Matrix{Float64}}}}, 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}}}}, Zygote.var"#559#560"{Zygote.Pullback{Tuple{Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, Matrix{Float64}}, Tuple{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"{:x, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, ImageUniform{Float64}}}, Zygote.Pullback{Tuple{typeof(logdensityof), ImageUniform{Float64}, Matrix{Float64}}, Tuple{Zygote.Pullback{Tuple{typeof(logpdf), ImageUniform{Float64}, Matrix{Float64}}, Any}}}}}}, 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, 2, Zygote.Context{false}, Int64}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Float64}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Matrix{Float64}}}, 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}}}}})(Δ::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.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"#back#_pullback##0"{Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Matrix{Float64}}}}, 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}}}}, Zygote.var"#559#560"{Zygote.Pullback{Tuple{Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, Matrix{Float64}}, Tuple{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"{:x, Zygote.Context{false}, Zygote.var"#fallback_Fix1#fallback_Fix1##0"{ImageUniform{Float64}, typeof(logdensityof)}, ImageUniform{Float64}}}, Zygote.Pullback{Tuple{typeof(logdensityof), ImageUniform{Float64}, Matrix{Float64}}, Tuple{Zygote.Pullback{Tuple{typeof(logpdf), ImageUniform{Float64}, Matrix{Float64}}, Any}}}}}}, 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, 2, Zygote.Context{false}, Int64}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Float64}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, Zygote.Context{false}, Matrix{Float64}}}, 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}}}}}})(Δ::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.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"#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.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}}}}, 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.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"{: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.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"#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, 2, Zygote.Context{false}, Int64}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, 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"#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}}}})(Δ::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.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"#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.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}}}}, 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.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"{: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.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"#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, 2, Zygote.Context{false}, Int64}}, Zygote.var"#259#260"{Zygote.var"#back#back##0"{2, 1, 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"#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}}}}})(Δ::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_63277(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") #8 !dbg !435 { 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 !436 %11 = fmul double %10, %10, !dbg !444 %12 = call double @julia_igmrf_1n_63287(ptr addrspace(10) %"\CE\94I::Array", double %11), !dbg !449 br i1 false, label %L21, label %L7, !dbg !450 L7: ; preds = %top %13 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !456 %.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !456 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.size, ptr addrspace(11) align 8 %.size_ptr, i64 16, i1 false), !dbg !456, !tbaa !25, !alias.scope !26, !noalias !30 %".size[2]_ptr" = getelementptr inbounds i8, ptr %.size, i32 8, !dbg !463 %.size.unbox = load i64, ptr %.size, align 8, !dbg !465, !tbaa !50, !alias.scope !52, !noalias !53 %".size[2]_ptr.unbox" = load i64, ptr %".size[2]_ptr", align 8, !dbg !465, !tbaa !50, !alias.scope !52, !noalias !53 %14 = mul i64 %.size.unbox, %".size[2]_ptr.unbox", !dbg !465 %15 = icmp ult i64 0, %14, !dbg !460 %16 = xor i1 %15, true, !dbg !462 br i1 %16, label %L17, label %L16, !dbg !462 L16: ; preds = %L7 br label %L20, !dbg !462 L17: ; preds = %L7 %17 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !462 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !462, !tbaa !25, !alias.scope !467, !noalias !468 %18 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !462 call void @julia_throw_boundserror_63282(ptr addrspace(10) %9, ptr addrspace(11) nocapture readonly %18) #13, !dbg !462 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_1), !dbg !462 unreachable, !dbg !462 L20: ; preds = %L16 br label %L21, !dbg !462 L21: ; preds = %L20, %top br label %L22, !dbg !462 L22: ; preds = %L21 br label %L23, !dbg !462 L23: ; preds = %L22 %19 = fadd double %11, 1.000000e+00, !dbg !469 br label %L25, !dbg !473 L25: ; preds = %L23 %20 = fdiv double %12, %19, !dbg !474 ret double %20, !dbg !449 after_error: ; No predecessors! call void @llvm.trap(), !dbg !462 unreachable, !dbg !462 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !462 unreachable, !dbg !462 } 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_63626(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") #10 !dbg !396 { 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 !380, !noalias !381 %2 = getelementptr inbounds i8, ptr %.roots.d, i32 8 %3 = load ptr addrspace(10), ptr %2, align 8, !tbaa !15, !alias.scope !380, !noalias !381 %4 = getelementptr inbounds i8, ptr %.roots.d, i32 16 %5 = load ptr addrspace(10), ptr %4, align 8, !tbaa !15, !alias.scope !380, !noalias !381 %6 = getelementptr inbounds i8, ptr %.roots.d, i32 24 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !15, !alias.scope !380, !noalias !381 %8 = getelementptr inbounds i8, ptr %.roots.d, i32 32 %9 = load ptr addrspace(10), ptr %8, align 8, !tbaa !15, !alias.scope !380, !noalias !381 %10 = fdiv double 1.000000e+00, %"\CF\81::Float64", !dbg !397 %11 = fmul double 0x4006A09E667F3BCD, %10, !dbg !405 %12 = fmul double %11, %11, !dbg !407 %13 = call double @julia_igmrf_2n_63637(ptr addrspace(10) %"\CE\94I::Array", double %12), !dbg !410 br i1 false, label %L22, label %L8, !dbg !411 L8: ; preds = %top %14 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !417 %.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %14, i32 16, !dbg !417 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.size, ptr addrspace(11) align 8 %.size_ptr, i64 16, i1 false), !dbg !417, !tbaa !25, !alias.scope !26, !noalias !30 %".size[2]_ptr" = getelementptr inbounds i8, ptr %.size, i32 8, !dbg !424 %.size.unbox = load i64, ptr %.size, align 8, !dbg !426, !tbaa !50, !alias.scope !52, !noalias !53 %".size[2]_ptr.unbox" = load i64, ptr %".size[2]_ptr", align 8, !dbg !426, !tbaa !50, !alias.scope !52, !noalias !53 %15 = mul i64 %.size.unbox, %".size[2]_ptr.unbox", !dbg !426 %16 = icmp ult i64 0, %15, !dbg !421 %17 = xor i1 %16, true, !dbg !423 br i1 %17, label %L18, label %L17, !dbg !423 L17: ; preds = %L8 br label %L21, !dbg !423 L18: ; preds = %L8 %18 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !423 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !423, !tbaa !25, !alias.scope !428, !noalias !429 %19 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !423 call void @julia_throw_boundserror_63632(ptr addrspace(10) %9, ptr addrspace(11) nocapture readonly %19) #13, !dbg !423 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_3), !dbg !423 unreachable, !dbg !423 L21: ; preds = %L17 br label %L22, !dbg !423 L22: ; preds = %L21, %top %20 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !430 %21 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 0, !dbg !430 %memoryref_data = load ptr, ptr addrspace(11) %21, align 8, !dbg !430, !tbaa !133, !alias.scope !136, !noalias !137 %22 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 1, !dbg !430 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %22, align 8, !dbg !430, !tbaa !133, !alias.scope !136, !noalias !137, !dereferenceable_or_null !138, !align !139 %23 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !430 %.ref = insertvalue { ptr, ptr addrspace(10) } %23, ptr addrspace(10) %memoryref_mem, 1, !dbg !430 %24 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !430 %25 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %24, i32 0, i32 0, !dbg !430 %memory_len = load i64, ptr addrspace(11) %25, align 8, !dbg !430, !tbaa !140, !range !142, !alias.scope !136, !noalias !137 %26 = add nuw i64 %memory_len, %memory_len, !dbg !430 %27 = add i64 0, %memory_len, !dbg !430 %memoryref_ovflw = icmp uge i64 %27, %26, !dbg !430 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 0, !dbg !430 %28 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !430 %29 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %28, i32 0, i32 0, !dbg !430 %memory_len1 = load i64, ptr addrspace(11) %29, align 8, !dbg !430, !tbaa !140, !range !142, !alias.scope !136, !noalias !137 %30 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !430 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !430 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !430, !tbaa !143, !alias.scope !136, !noalias !137, !nonnull !0 %31 = ptrtoint ptr %memory_data to i64, !dbg !430 %32 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !430 %33 = sub i64 %32, %31, !dbg !430 %memoryref_bytelen = mul nuw nsw i64 %memory_len1, 8, !dbg !430 %memoryref_isinbounds = icmp ult i64 %33, %memoryref_bytelen, !dbg !430 %34 = xor i1 %memoryref_ovflw, true, !dbg !430 %"memoryref_isinbounds¬ovflw" = and i1 %34, %memoryref_isinbounds, !dbg !430 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !430 L26: ; preds = %load br label %L27, !dbg !430 L27: ; preds = %L26 %35 = fadd double %12, %47, !dbg !431 %36 = fmul double 0x402921FB54442D18, %35, !dbg !434 br label %L30, !dbg !433 L30: ; preds = %L27 %37 = fdiv double %13, %36, !dbg !435 ret double %37, !dbg !410 oob: ; preds = %L22 %"+Core.GenericMemoryRef#63630" = load ptr, ptr @_Core_GenericMemoryRef_63630, align 8, !dbg !430, !tbaa !15, !alias.scope !380, !noalias !381, !nonnull !0, !dereferenceable !382, !align !138 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#63630" to i64, !dbg !430 %38 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !430 %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !430 %39 = addrspacecast ptr %38 to ptr addrspace(10), !dbg !430 %"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 !430 %40 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !430 store { ptr, ptr addrspace(10) } %.ref, ptr addrspace(11) %40, align 8, !dbg !430, !tbaa !383, !alias.scope !387, !noalias !388 %41 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !430 call void @ijl_bounds_error_int(ptr addrspace(12) %41, i64 1), !dbg !430 unreachable, !dbg !430 idxend: ; preds = %L22 %42 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !430 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %42, ptr addrspace(10) %memoryref_mem, 1, !dbg !430 %43 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !430 %44 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %43, i32 0, i32 0, !dbg !430 %memory_len2 = load i64, ptr addrspace(11) %44, align 8, !dbg !430, !tbaa !140, !range !142, !alias.scope !136, !noalias !137 %45 = icmp eq i64 %memory_len2, 0, !dbg !430 br i1 %45, label %oob3, label %load, !dbg !430 oob3: ; preds = %idxend %46 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !430 call void @ijl_bounds_error_int(ptr addrspace(12) %46, i64 1), !dbg !430 unreachable, !dbg !430 load: ; preds = %idxend %memoryref_data4 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !430 %47 = load double, ptr addrspace(13) %memoryref_data4, align 8, !dbg !430, !tbaa !389, !alias.scope !387, !noalias !388 br label %L26, !dbg !430 after_error: ; No predecessors! call void @llvm.trap(), !dbg !423 unreachable, !dbg !423 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !423 unreachable, !dbg !423 } 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_63645(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") #8 !dbg !435 { 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 !436 %11 = fmul double %10, %10, !dbg !444 %12 = call double @julia_igmrf_1n_63655(ptr addrspace(10) %"\CE\94I::Array", double %11), !dbg !449 br i1 false, label %L21, label %L7, !dbg !450 L7: ; preds = %top %13 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !456 %.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !456 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.size, ptr addrspace(11) align 8 %.size_ptr, i64 16, i1 false), !dbg !456, !tbaa !25, !alias.scope !26, !noalias !30 %".size[2]_ptr" = getelementptr inbounds i8, ptr %.size, i32 8, !dbg !463 %.size.unbox = load i64, ptr %.size, align 8, !dbg !465, !tbaa !50, !alias.scope !52, !noalias !53 %".size[2]_ptr.unbox" = load i64, ptr %".size[2]_ptr", align 8, !dbg !465, !tbaa !50, !alias.scope !52, !noalias !53 %14 = mul i64 %.size.unbox, %".size[2]_ptr.unbox", !dbg !465 %15 = icmp ult i64 0, %14, !dbg !460 %16 = xor i1 %15, true, !dbg !462 br i1 %16, label %L17, label %L16, !dbg !462 L16: ; preds = %L7 br label %L20, !dbg !462 L17: ; preds = %L7 %17 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !462 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !462, !tbaa !25, !alias.scope !467, !noalias !468 %18 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !462 call void @julia_throw_boundserror_63650(ptr addrspace(10) %9, ptr addrspace(11) nocapture readonly %18) #13, !dbg !462 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_1), !dbg !462 unreachable, !dbg !462 L20: ; preds = %L16 br label %L21, !dbg !462 L21: ; preds = %L20, %top br label %L22, !dbg !462 L22: ; preds = %L21 br label %L23, !dbg !462 L23: ; preds = %L22 %19 = fadd double %11, 1.000000e+00, !dbg !469 br label %L25, !dbg !473 L25: ; preds = %L23 %20 = fdiv double %12, %19, !dbg !474 ret double %20, !dbg !449 after_error: ; No predecessors! call void @llvm.trap(), !dbg !462 unreachable, !dbg !462 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !462 unreachable, !dbg !462 } 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_63664(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") #10 !dbg !396 { 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 !380, !noalias !381 %2 = getelementptr inbounds i8, ptr %.roots.d, i32 8 %3 = load ptr addrspace(10), ptr %2, align 8, !tbaa !15, !alias.scope !380, !noalias !381 %4 = getelementptr inbounds i8, ptr %.roots.d, i32 16 %5 = load ptr addrspace(10), ptr %4, align 8, !tbaa !15, !alias.scope !380, !noalias !381 %6 = getelementptr inbounds i8, ptr %.roots.d, i32 24 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !15, !alias.scope !380, !noalias !381 %8 = getelementptr inbounds i8, ptr %.roots.d, i32 32 %9 = load ptr addrspace(10), ptr %8, align 8, !tbaa !15, !alias.scope !380, !noalias !381 %10 = fdiv double 1.000000e+00, %"\CF\81::Float64", !dbg !397 %11 = fmul double 0x4006A09E667F3BCD, %10, !dbg !405 %12 = fmul double %11, %11, !dbg !407 %13 = call double @julia_igmrf_2n_63675(ptr addrspace(10) %"\CE\94I::Array", double %12), !dbg !410 br i1 false, label %L22, label %L8, !dbg !411 L8: ; preds = %top %14 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !417 %.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %14, i32 16, !dbg !417 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.size, ptr addrspace(11) align 8 %.size_ptr, i64 16, i1 false), !dbg !417, !tbaa !25, !alias.scope !26, !noalias !30 %".size[2]_ptr" = getelementptr inbounds i8, ptr %.size, i32 8, !dbg !424 %.size.unbox = load i64, ptr %.size, align 8, !dbg !426, !tbaa !50, !alias.scope !52, !noalias !53 %".size[2]_ptr.unbox" = load i64, ptr %".size[2]_ptr", align 8, !dbg !426, !tbaa !50, !alias.scope !52, !noalias !53 %15 = mul i64 %.size.unbox, %".size[2]_ptr.unbox", !dbg !426 %16 = icmp ult i64 0, %15, !dbg !421 %17 = xor i1 %16, true, !dbg !423 br i1 %17, label %L18, label %L17, !dbg !423 L17: ; preds = %L8 br label %L21, !dbg !423 L18: ; preds = %L8 %18 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !423 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !423, !tbaa !25, !alias.scope !428, !noalias !429 %19 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !423 call void @julia_throw_boundserror_63670(ptr addrspace(10) %9, ptr addrspace(11) nocapture readonly %19) #13, !dbg !423 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_3), !dbg !423 unreachable, !dbg !423 L21: ; preds = %L17 br label %L22, !dbg !423 L22: ; preds = %L21, %top %20 = addrspacecast ptr addrspace(10) %9 to ptr addrspace(11), !dbg !430 %21 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 0, !dbg !430 %memoryref_data = load ptr, ptr addrspace(11) %21, align 8, !dbg !430, !tbaa !133, !alias.scope !136, !noalias !137 %22 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 1, !dbg !430 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %22, align 8, !dbg !430, !tbaa !133, !alias.scope !136, !noalias !137, !dereferenceable_or_null !138, !align !139 %23 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !430 %.ref = insertvalue { ptr, ptr addrspace(10) } %23, ptr addrspace(10) %memoryref_mem, 1, !dbg !430 %24 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !430 %25 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %24, i32 0, i32 0, !dbg !430 %memory_len = load i64, ptr addrspace(11) %25, align 8, !dbg !430, !tbaa !140, !range !142, !alias.scope !136, !noalias !137 %26 = add nuw i64 %memory_len, %memory_len, !dbg !430 %27 = add i64 0, %memory_len, !dbg !430 %memoryref_ovflw = icmp uge i64 %27, %26, !dbg !430 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 0, !dbg !430 %28 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !430 %29 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %28, i32 0, i32 0, !dbg !430 %memory_len1 = load i64, ptr addrspace(11) %29, align 8, !dbg !430, !tbaa !140, !range !142, !alias.scope !136, !noalias !137 %30 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !430 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !430 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !430, !tbaa !143, !alias.scope !136, !noalias !137, !nonnull !0 %31 = ptrtoint ptr %memory_data to i64, !dbg !430 %32 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !430 %33 = sub i64 %32, %31, !dbg !430 %memoryref_bytelen = mul nuw nsw i64 %memory_len1, 8, !dbg !430 %memoryref_isinbounds = icmp ult i64 %33, %memoryref_bytelen, !dbg !430 %34 = xor i1 %memoryref_ovflw, true, !dbg !430 %"memoryref_isinbounds¬ovflw" = and i1 %34, %memoryref_isinbounds, !dbg !430 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !430 L26: ; preds = %load br label %L27, !dbg !430 L27: ; preds = %L26 %35 = fadd double %12, %47, !dbg !431 %36 = fmul double 0x402921FB54442D18, %35, !dbg !434 br label %L30, !dbg !433 L30: ; preds = %L27 %37 = fdiv double %13, %36, !dbg !435 ret double %37, !dbg !410 oob: ; preds = %L22 %"+Core.GenericMemoryRef#63668" = load ptr, ptr @_Core_GenericMemoryRef_63668, align 8, !dbg !430, !tbaa !15, !alias.scope !380, !noalias !381, !nonnull !0, !dereferenceable !382, !align !138 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#63668" to i64, !dbg !430 %38 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !430 %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !430 %39 = addrspacecast ptr %38 to ptr addrspace(10), !dbg !430 %"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 !430 %40 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !430 store { ptr, ptr addrspace(10) } %.ref, ptr addrspace(11) %40, align 8, !dbg !430, !tbaa !383, !alias.scope !387, !noalias !388 %41 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !430 call void @ijl_bounds_error_int(ptr addrspace(12) %41, i64 1), !dbg !430 unreachable, !dbg !430 idxend: ; preds = %L22 %42 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !430 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %42, ptr addrspace(10) %memoryref_mem, 1, !dbg !430 %43 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !430 %44 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %43, i32 0, i32 0, !dbg !430 %memory_len2 = load i64, ptr addrspace(11) %44, align 8, !dbg !430, !tbaa !140, !range !142, !alias.scope !136, !noalias !137 %45 = icmp eq i64 %memory_len2, 0, !dbg !430 br i1 %45, label %oob3, label %load, !dbg !430 oob3: ; preds = %idxend %46 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !430 call void @ijl_bounds_error_int(ptr addrspace(12) %46, i64 1), !dbg !430 unreachable, !dbg !430 load: ; preds = %idxend %memoryref_data4 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !430 %47 = load double, ptr addrspace(13) %memoryref_data4, align 8, !dbg !430, !tbaa !389, !alias.scope !387, !noalias !388 br label %L26, !dbg !430 after_error: ; No predecessors! call void @llvm.trap(), !dbg !423 unreachable, !dbg !423 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !423 unreachable, !dbg !423 } 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.010261107303262636 0.014268477860370802 … -0.01423718868283994 -0.004044826429205966; 0.0019799293424826205 0.0017433112121365286 … 0.009038967776733587 -0.0020260356312889315; … ; 8.41917774173531e-5 -0.00756465373529092 … 0.008672174709913359 0.011327229551135536; -0.006068424667017723 0.0025232318034987783 … 0.009630653356018468 -0.0012449040603117964], [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([0.9973402189760068 1.0106951966203548 … 1.0100519462782882 0.9896283828228122; 0.9834831536989972 1.0119151977812548 … 1.0011993822667573 1.0203107381836212; … ; 1.0049902609099133 1.015204381347817 … 0.9909478551115739 0.9671529678193179; 1.0206005187287719 0.9983505664068446 … 1.0072045476104847 1.0078808147876561], [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__70708(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 !1242 { 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 !191, !noalias !192 call void @llvm.memset.p0.i64(ptr align 8 %1, i8 0, i64 8, i1 false), !tbaa !25, !alias.scope !191, !noalias !192 call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !25, !alias.scope !191, !noalias !192 %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 !31, !noalias !34 %8 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !1243 %.stop_ptr = getelementptr inbounds i8, ptr addrspace(11) %8, i32 8, !dbg !1254 %.stop_ptr.unbox = load i64, ptr addrspace(11) %.stop_ptr, align 8, !dbg !1265, !tbaa !29, !alias.scope !31, !noalias !34 %.unbox = load i64, ptr addrspace(11) %8, align 8, !dbg !1265, !tbaa !29, !alias.scope !31, !noalias !34 %9 = sub i64 %.stop_ptr.unbox, %.unbox, !dbg !1265 %10 = add i64 1, %9, !dbg !1268 %11 = icmp eq i64 %10, 0, !dbg !1270 %12 = xor i1 %11, true, !dbg !1253 br i1 %12, label %L10, label %L9, !dbg !1253 L9: ; preds = %top ret ptr addrspace(10) %"dest::Array", !dbg !1253 L10: ; preds = %top %13 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1272 %"dest::Array.size_ptr" = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !1272 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 !1272, !tbaa !40, !alias.scope !203, !noalias !204 %"dest::Array.size.unbox" = load i64, ptr %"dest::Array.size", align 8, !dbg !1281, !tbaa !210, !alias.scope !212, !noalias !213 %14 = icmp eq i64 %"dest::Array.size.unbox", 0, !dbg !1281 %15 = xor i1 %14, true, !dbg !1282 %16 = xor i1 %15, true, !dbg !1276 br i1 %16, label %L39, label %L16, !dbg !1276 L16: ; preds = %L10 %17 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !1284 %.stop_ptr1 = getelementptr inbounds i8, ptr addrspace(11) %17, i32 8, !dbg !1287 %.stop_ptr1.unbox = load i64, ptr addrspace(11) %.stop_ptr1, align 8, !dbg !1293, !tbaa !29, !alias.scope !31, !noalias !34 %.unbox2 = load i64, ptr addrspace(11) %17, align 8, !dbg !1293, !tbaa !29, !alias.scope !31, !noalias !34 %18 = sub i64 %.stop_ptr1.unbox, %.unbox2, !dbg !1293 %19 = add i64 1, %18, !dbg !1295 %20 = icmp eq i64 %19, 0, !dbg !1281 %21 = xor i1 %20, true, !dbg !1282 %22 = xor i1 %21, true, !dbg !1276 br i1 %22, label %L38, label %L25, !dbg !1276 L25: ; preds = %L16 %23 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1296 %24 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 0, !dbg !1296 %25 = load ptr, ptr addrspace(11) %24, align 8, !dbg !1296, !tbaa !229, !alias.scope !232, !noalias !233 %26 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 1, !dbg !1296 %27 = load ptr addrspace(10), ptr addrspace(11) %26, align 8, !dbg !1296, !tbaa !229, !alias.scope !232, !noalias !233, !dereferenceable_or_null !47, !align !62 %28 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %25, 0, !dbg !1296 %"dest::Array.ref" = insertvalue { ptr, ptr addrspace(10) } %28, ptr addrspace(10) %27, 1, !dbg !1296 %"dest::Array.ref.mem" = extractvalue { ptr, ptr addrspace(10) } %"dest::Array.ref", 1, !dbg !1296 %29 = addrspacecast ptr addrspace(10) %"dest::Array.ref.mem" to ptr addrspace(11), !dbg !1299 %"dest::Array.ref.mem.ptr_ptr" = getelementptr inbounds i8, ptr addrspace(11) %29, i32 8, !dbg !1299 %bitcast = load ptr, ptr addrspace(11) %"dest::Array.ref.mem.ptr_ptr", align 8, !dbg !1301, !tbaa !237, !alias.scope !232, !noalias !233 %bitcast_coercion = ptrtoint ptr %bitcast to i64, !dbg !1301 %30 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !1303 %31 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 0, !dbg !1303 %32 = load ptr, ptr addrspace(11) %31, align 8, !dbg !1303, !tbaa !229, !alias.scope !232, !noalias !233 %33 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !1303 %34 = load ptr addrspace(10), ptr addrspace(11) %33, align 8, !dbg !1303, !tbaa !229, !alias.scope !232, !noalias !233, !dereferenceable_or_null !47, !align !62 %35 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %32, 0, !dbg !1303 %.ref = insertvalue { ptr, ptr addrspace(10) } %35, ptr addrspace(10) %34, 1, !dbg !1303 %.ref.mem = extractvalue { ptr, ptr addrspace(10) } %.ref, 1, !dbg !1303 %36 = addrspacecast ptr addrspace(10) %.ref.mem to ptr addrspace(11), !dbg !1307 %.ref.mem.ptr_ptr = getelementptr inbounds i8, ptr addrspace(11) %36, i32 8, !dbg !1307 %bitcast3 = load ptr, ptr addrspace(11) %.ref.mem.ptr_ptr, align 8, !dbg !1309, !tbaa !237, !alias.scope !232, !noalias !233 %bitcast_coercion4 = ptrtoint ptr %bitcast3 to i64, !dbg !1309 %37 = icmp eq i64 %bitcast_coercion, %bitcast_coercion4, !dbg !1310 %38 = xor i1 %37, true, !dbg !1315 %39 = xor i1 %38, true, !dbg !1282 %40 = zext i1 %39 to i8 br label %L40, !dbg !1282 L38: ; preds = %L16 br label %L40, !dbg !1316 L39: ; preds = %L10 br label %L40, !dbg !1316 L40: ; preds = %L39, %L38, %L25 %value_phi = phi i8 [ %40, %L25 ], [ 0, %L38 ], [ 0, %L39 ] %41 = trunc i8 %value_phi to i1, !dbg !1278 %42 = xor i1 %41, true, !dbg !1278 br i1 %42, label %L44, label %L42, !dbg !1278 L42: ; preds = %L40 %43 = getelementptr inbounds i8, ptr %1, i32 0, !dbg !1278 store ptr addrspace(10) %7, ptr %43, align 8, !dbg !1278 call void @julia_unaliascopy_70715(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 !1278 %44 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !1278 %45 = load ptr addrspace(10), ptr %44, align 8, !dbg !1278, !tbaa !25, !alias.scope !191, !noalias !192 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !1319 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %sret_box, i64 40, i1 false), !dbg !1319, !tbaa !40, !alias.scope !1320, !noalias !1321 br label %L45, !dbg !1278 L44: ; preds = %L40 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !1319 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %3, ptr addrspace(11) align 8 %"src::SubArray", i64 40, i1 false), !dbg !1319, !tbaa !40, !alias.scope !41, !noalias !42 br label %L45, !dbg !1316 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 !1280 call void @llvm.lifetime.end.p0(i64 -1, ptr %3), !dbg !1280 %46 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !1322 %.stop_ptr5 = getelementptr inbounds i8, ptr %46, i32 8, !dbg !1328 %.stop_ptr5.unbox = load i64, ptr %.stop_ptr5, align 8, !dbg !1334, !tbaa !210, !alias.scope !212, !noalias !213 %.unbox6 = load i64, ptr %46, align 8, !dbg !1334, !tbaa !210, !alias.scope !212, !noalias !213 %47 = sub i64 %.stop_ptr5.unbox, %.unbox6, !dbg !1334 %48 = add i64 1, %47, !dbg !1336 %49 = icmp eq i64 %48, 0, !dbg !1337 %50 = xor i1 %49, true, !dbg !1327 br i1 %50, label %L55, label %L54, !dbg !1327 L54: ; preds = %L45 br label %L163, !dbg !1327 L55: ; preds = %L45 %51 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1338 %"dest::Array.size_ptr8" = getelementptr inbounds i8, ptr addrspace(11) %51, i32 16, !dbg !1338 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 !1338, !tbaa !40, !alias.scope !203, !noalias !204 %52 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !1343 %.stop_ptr10 = getelementptr inbounds i8, ptr %52, i32 8, !dbg !1345 %.stop_ptr10.unbox = load i64, ptr %.stop_ptr10, align 8, !dbg !1351, !tbaa !210, !alias.scope !212, !noalias !213 %.unbox11 = load i64, ptr %52, align 8, !dbg !1351, !tbaa !210, !alias.scope !212, !noalias !213 %53 = sub i64 %.stop_ptr10.unbox, %.unbox11, !dbg !1351 %54 = add i64 1, %53, !dbg !1353 %55 = getelementptr inbounds i8, ptr %"new::LinearIndices", i32 0, !dbg !1354 %56 = getelementptr inbounds i8, ptr %55, i32 0, !dbg !1354 %57 = getelementptr inbounds i8, ptr %56, i32 0, !dbg !1354 store i64 %54, ptr %57, align 8, !dbg !1354, !tbaa !210, !alias.scope !212, !noalias !213 %bitcast12 = load i64, ptr %"dest::Array.size9", align 8, !dbg !1358, !tbaa !210, !alias.scope !212, !noalias !213 %58 = icmp ult i64 0, %bitcast12, !dbg !1366 %59 = add i64 %54, 0, !dbg !1368 %60 = sub i64 %59, 1, !dbg !1369 %bitcast13 = load i64, ptr %"dest::Array.size9", align 8, !dbg !1358, !tbaa !210, !alias.scope !212, !noalias !213 %61 = icmp ult i64 %60, %bitcast13, !dbg !1366 %62 = and i1 %58, %61, !dbg !1370 %63 = xor i1 %62, true, !dbg !1316 br i1 %63, label %L160, label %L76, !dbg !1316 L76: ; preds = %L55 %64 = icmp slt i64 %54, 1, !dbg !1372 %65 = xor i1 %64, true, !dbg !1377 br i1 %65, label %L79, label %L78, !dbg !1377 L78: ; preds = %L76 br label %L80, !dbg !1377 L79: ; preds = %L76 br label %L80, !dbg !1377 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 !1379 L84: ; preds = %L80 %66 = trunc i8 %value_phi14 to i1, !dbg !1381 %67 = xor i1 %66, true, !dbg !1381 %68 = xor i1 %67, true, !dbg !1381 br i1 %68, label %L159, label %L84.L86_crit_edge, !dbg !1381 L84.L86_crit_edge: ; preds = %L84 br label %L86, !dbg !1377 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 !1382 L90: ; preds = %L86 %69 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !1382 store i64 %value_phi17, ptr %69, align 8, !dbg !1382, !tbaa !210, !alias.scope !212, !noalias !213 %70 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !1385 %.stop_ptr19 = getelementptr inbounds i8, ptr %70, i32 8, !dbg !1392 %.stop_ptr19.unbox = load i64, ptr %.stop_ptr19, align 8, !dbg !1401, !tbaa !210, !alias.scope !212, !noalias !213 %.unbox20 = load i64, ptr %70, align 8, !dbg !1401, !tbaa !210, !alias.scope !212, !noalias !213 %71 = sub i64 %.stop_ptr19.unbox, %.unbox20, !dbg !1401 %72 = add i64 1, %71, !dbg !1403 %73 = sub i64 %value_phi17, 1, !dbg !1404 %74 = icmp ult i64 %73, %72, !dbg !1406 %75 = xor i1 %74, true, !dbg !1391 br i1 %75, label %L103, label %L102, !dbg !1391 L102: ; preds = %L90 br label %L105, !dbg !1391 L103: ; preds = %L90 %76 = getelementptr inbounds i8, ptr %4, i32 0, !dbg !1391 store ptr addrspace(10) %root_phi, ptr %76, align 8, !dbg !1391 %77 = addrspacecast ptr %2 to ptr addrspace(11), !dbg !1391 %78 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !1391 call void @julia_throw_boundserror_70696(ptr addrspace(11) nocapture readonly %77, ptr nocapture readonly %4, ptr addrspace(11) nocapture readonly %78) #32, !dbg !1391 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_3), !dbg !1391 unreachable, !dbg !1391 L105: ; preds = %L102 br label %L106, !dbg !1391 L106: ; preds = %L105, %L86 %79 = getelementptr inbounds i8, ptr %2, i32 24, !dbg !1407 %.unbox21 = load i64, ptr %79, align 8, !dbg !1411, !tbaa !210, !alias.scope !212, !noalias !213 %80 = add i64 %.unbox21, %value_phi17, !dbg !1411 br i1 false, label %L123, label %L111, !dbg !1412 L111: ; preds = %L106 %81 = sub i64 %80, 1, !dbg !1414 %82 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !1417 %root_phi.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %82, i32 16, !dbg !1417 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 !1417, !tbaa !40, !alias.scope !203, !noalias !204 %bitcast22 = load i64, ptr %root_phi.size, align 8, !dbg !1414, !tbaa !210, !alias.scope !212, !noalias !213 %83 = icmp ult i64 %81, %bitcast22, !dbg !1414 %84 = xor i1 %83, true, !dbg !1416 br i1 %84, label %L119, label %L118, !dbg !1416 L118: ; preds = %L111 br label %L122, !dbg !1416 L119: ; preds = %L111 %85 = getelementptr inbounds i8, ptr %"new::Tuple61", i32 0, !dbg !1416 store i64 %80, ptr %85, align 8, !dbg !1416, !tbaa !210, !alias.scope !212, !noalias !213 %86 = addrspacecast ptr %"new::Tuple61" to ptr addrspace(11), !dbg !1416 call void @julia_throw_boundserror_70694(ptr addrspace(10) %root_phi, ptr addrspace(11) nocapture readonly %86) #32, !dbg !1416 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_3), !dbg !1416 unreachable, !dbg !1416 L122: ; preds = %L118 br label %L123, !dbg !1416 L123: ; preds = %L122, %L106 %87 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !1419 %88 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 0, !dbg !1419 %memoryref_data = load ptr, ptr addrspace(11) %88, align 8, !dbg !1419, !tbaa !229, !alias.scope !232, !noalias !233 %89 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 1, !dbg !1419 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %89, align 8, !dbg !1419, !tbaa !229, !alias.scope !232, !noalias !233, !dereferenceable_or_null !47, !align !62 %90 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !1419 %root_phi.ref = insertvalue { ptr, ptr addrspace(10) } %90, ptr addrspace(10) %memoryref_mem, 1, !dbg !1419 %memoryref_offset = sub i64 %80, 1, !dbg !1419 %91 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !1419 %92 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %91, i32 0, i32 0, !dbg !1419 %memory_len = load i64, ptr addrspace(11) %92, align 8, !dbg !1419, !tbaa !234, !range !236, !alias.scope !232, !noalias !233 %93 = add nuw i64 %memory_len, %memory_len, !dbg !1419 %94 = add i64 %memoryref_offset, %memory_len, !dbg !1419 %memoryref_ovflw = icmp uge i64 %94, %93, !dbg !1419 %memoryref_byteoffset = mul i64 %memoryref_offset, 8, !dbg !1419 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 %memoryref_byteoffset, !dbg !1419 %95 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !1419 %96 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %95, i32 0, i32 0, !dbg !1419 %memory_len23 = load i64, ptr addrspace(11) %96, align 8, !dbg !1419, !tbaa !234, !range !236, !alias.scope !232, !noalias !233 %97 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !1419 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %97, i32 0, i32 1, !dbg !1419 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !1419, !tbaa !237, !alias.scope !232, !noalias !233, !nonnull !0 %98 = ptrtoint ptr %memory_data to i64, !dbg !1419 %99 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !1419 %100 = sub i64 %99, %98, !dbg !1419 %memoryref_bytelen = mul nuw nsw i64 %memory_len23, 8, !dbg !1419 %memoryref_isinbounds = icmp ult i64 %100, %memoryref_bytelen, !dbg !1419 %101 = xor i1 %memoryref_ovflw, true, !dbg !1419 %"memoryref_isinbounds¬ovflw" = and i1 %101, %memoryref_isinbounds, !dbg !1419 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !1419 L127: ; preds = %load br label %L128, !dbg !1419 L128: ; preds = %L127 %102 = add i64 %value_phi17, 0, !dbg !1420 br i1 false, label %L142, label %L131, !dbg !1421 L131: ; preds = %L128 %103 = sub i64 %102, 1, !dbg !1425 %104 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1426 %"dest::Array.size_ptr28" = getelementptr inbounds i8, ptr addrspace(11) %104, i32 16, !dbg !1426 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 !1426, !tbaa !40, !alias.scope !203, !noalias !204 %bitcast30 = load i64, ptr %"dest::Array.size29", align 8, !dbg !1425, !tbaa !210, !alias.scope !212, !noalias !213 %105 = icmp ult i64 %103, %bitcast30, !dbg !1425 %106 = xor i1 %105, true, !dbg !1421 br i1 %106, label %L139, label %L138, !dbg !1421 L138: ; preds = %L131 br label %L142, !dbg !1421 L139: ; preds = %L131 %107 = getelementptr inbounds i8, ptr %"new::Tuple60", i32 0, !dbg !1421 store i64 %102, ptr %107, align 8, !dbg !1421, !tbaa !210, !alias.scope !212, !noalias !213 %108 = addrspacecast ptr %"new::Tuple60" to ptr addrspace(11), !dbg !1421 call void @julia_throw_boundserror_70694(ptr addrspace(10) %"dest::Array", ptr addrspace(11) nocapture readonly %108) #32, !dbg !1421 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_3), !dbg !1421 unreachable, !dbg !1421 L142: ; preds = %L138, %L128 %109 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !1428 %110 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 0, !dbg !1428 %memoryref_data32 = load ptr, ptr addrspace(11) %110, align 8, !dbg !1428, !tbaa !229, !alias.scope !232, !noalias !233 %111 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 1, !dbg !1428 %memoryref_mem52 = load ptr addrspace(10), ptr addrspace(11) %111, align 8, !dbg !1428, !tbaa !229, !alias.scope !232, !noalias !233, !dereferenceable_or_null !47, !align !62 %112 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data32, 0, !dbg !1428 %"dest::Array.ref31" = insertvalue { ptr, ptr addrspace(10) } %112, ptr addrspace(10) %memoryref_mem52, 1, !dbg !1428 %memoryref_offset34 = sub i64 %102, 1, !dbg !1429 %113 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !1429 %114 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %113, i32 0, i32 0, !dbg !1429 %memory_len35 = load i64, ptr addrspace(11) %114, align 8, !dbg !1429, !tbaa !234, !range !236, !alias.scope !232, !noalias !233 %115 = add nuw i64 %memory_len35, %memory_len35, !dbg !1429 %116 = add i64 %memoryref_offset34, %memory_len35, !dbg !1429 %memoryref_ovflw36 = icmp uge i64 %116, %115, !dbg !1429 %memoryref_byteoffset37 = mul i64 %memoryref_offset34, 8, !dbg !1429 %memoryref_data_byteoffset38 = getelementptr i8, ptr %memoryref_data32, i64 %memoryref_byteoffset37, !dbg !1429 %117 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !1429 %118 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %117, i32 0, i32 0, !dbg !1429 %memory_len39 = load i64, ptr addrspace(11) %118, align 8, !dbg !1429, !tbaa !234, !range !236, !alias.scope !232, !noalias !233 %119 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !1429 %memory_data_ptr40 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %119, i32 0, i32 1, !dbg !1429 %memory_data41 = load ptr, ptr addrspace(11) %memory_data_ptr40, align 8, !dbg !1429, !tbaa !237, !alias.scope !232, !noalias !233, !nonnull !0 %120 = ptrtoint ptr %memory_data41 to i64, !dbg !1429 %121 = ptrtoint ptr %memoryref_data_byteoffset38 to i64, !dbg !1429 %122 = sub i64 %121, %120, !dbg !1429 %memoryref_bytelen42 = mul nuw nsw i64 %memory_len39, 8, !dbg !1429 %memoryref_isinbounds43 = icmp ult i64 %122, %memoryref_bytelen42, !dbg !1429 %123 = xor i1 %memoryref_ovflw36, true, !dbg !1429 %"memoryref_isinbounds¬ovflw44" = and i1 %123, %memoryref_isinbounds43, !dbg !1429 br i1 %"memoryref_isinbounds¬ovflw44", label %idxend50, label %oob45, !dbg !1429 L146: ; preds = %load55 br label %L147, !dbg !1423 L147: ; preds = %L146 %124 = icmp eq i64 %value_phi18, %54, !dbg !1430 %125 = xor i1 %124, true, !dbg !1431 br i1 %125, label %L150, label %L149, !dbg !1431 L149: ; preds = %L147 br label %L152, !dbg !1431 L150: ; preds = %L147 %126 = add i64 %value_phi18, 1, !dbg !1434 br label %L152, !dbg !1431 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 !1432 L156: ; preds = %L152 %127 = trunc i8 %value_phi59 to i1, !dbg !1433 %128 = xor i1 %127, true, !dbg !1433 %129 = xor i1 %128, true, !dbg !1433 br i1 %129, label %L159, label %L158, !dbg !1433 L158: ; preds = %L156 br label %L86, !dbg !1377 L159: ; preds = %L156, %L84 br label %L163, !dbg !1436 L160: ; preds = %L55 %"-Core.BoundsError#70713" = load ptr, ptr @_Core_BoundsError_70713, align 8, !dbg !1316, !tbaa !29, !alias.scope !31, !noalias !34, !nonnull !0, !dereferenceable !61, !align !62 %130 = addrspacecast ptr %"-Core.BoundsError#70713" to ptr addrspace(10), !dbg !1316 %"+Core.BoundsError#70674" = load ptr, ptr @_Core_BoundsError_70674, align 8, !dbg !1316, !tbaa !29, !alias.scope !31, !noalias !34, !nonnull !0, !dereferenceable !46, !align !47 %131 = addrspacecast ptr %"+Core.BoundsError#70674" to ptr addrspace(10), !dbg !1316 %"+Main.Base.LinearIndices#70714" = load ptr, ptr @_Main_Base_LinearIndices_70714, align 8, !dbg !1316, !tbaa !29, !alias.scope !31, !noalias !34, !nonnull !0, !dereferenceable !46, !align !47 %LinearIndices = ptrtoint ptr %"+Main.Base.LinearIndices#70714" to i64, !dbg !1316 %132 = inttoptr i64 %LinearIndices to ptr, !dbg !1316 %current_task66 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !1316 %133 = addrspacecast ptr %132 to ptr addrspace(10), !dbg !1316 %"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 !1316 %134 = addrspacecast ptr addrspace(10) %"box::LinearIndices" to ptr addrspace(11), !dbg !1316 call void @llvm.memcpy.p11.p0.i64(ptr addrspace(11) align 8 %134, ptr align 8 %"new::LinearIndices", i64 8, i1 false), !dbg !1316, !tbaa !40, !alias.scope !56, !noalias !57 %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 !1316 %136 = addrspacecast ptr addrspace(10) %135 to ptr addrspace(12), !dbg !1316 call void @ijl_throw(ptr addrspace(12) %136), !dbg !1316 unreachable, !dbg !1316 L163: ; preds = %L159, %L54 %value_phi7 = phi ptr addrspace(10) [ %"dest::Array", %L54 ], [ %"dest::Array", %L159 ] ret ptr addrspace(10) %value_phi7, !dbg !1318 oob: ; preds = %L123 %"+Core.GenericMemoryRef#70640" = load ptr, ptr @_Core_GenericMemoryRef_70640, align 8, !dbg !1419, !tbaa !29, !alias.scope !31, !noalias !34, !nonnull !0, !dereferenceable !46, !align !47 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#70640" to i64, !dbg !1419 %137 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !1419 %current_task24 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !1419 %138 = addrspacecast ptr %137 to ptr addrspace(10), !dbg !1419 %"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 !1419 %139 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !1419 store { ptr, ptr addrspace(10) } %root_phi.ref, ptr addrspace(11) %139, align 8, !dbg !1419, !tbaa !54, !alias.scope !52, !noalias !53 %140 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !1419 call void @ijl_bounds_error_int(ptr addrspace(12) %140, i64 %80), !dbg !1419 unreachable, !dbg !1419 idxend: ; preds = %L123 %141 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !1419 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %141, ptr addrspace(10) %memoryref_mem, 1, !dbg !1419 %142 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !1419 %143 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %142, i32 0, i32 0, !dbg !1419 %memory_len25 = load i64, ptr addrspace(11) %143, align 8, !dbg !1419, !tbaa !234, !range !236, !alias.scope !232, !noalias !233 %144 = icmp eq i64 %memory_len25, 0, !dbg !1419 br i1 %144, label %oob26, label %load, !dbg !1419 oob26: ; preds = %idxend %145 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !1419 call void @ijl_bounds_error_int(ptr addrspace(12) %145, i64 1), !dbg !1419 unreachable, !dbg !1419 load: ; preds = %idxend %146 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !1419 %memoryref_data27 = getelementptr inbounds i8, ptr addrspace(13) %146, i64 %memoryref_byteoffset, !dbg !1419 %147 = load double, ptr addrspace(13) %memoryref_data27, align 8, !dbg !1419, !tbaa !1179, !alias.scope !52, !noalias !53 br label %L127, !dbg !1419 oob45: ; preds = %L142 %"+Core.GenericMemoryRef#7064046" = load ptr, ptr @_Core_GenericMemoryRef_70640, align 8, !dbg !1429, !tbaa !29, !alias.scope !31, !noalias !34, !nonnull !0, !dereferenceable !46, !align !47 %GenericMemoryRef47 = ptrtoint ptr %"+Core.GenericMemoryRef#7064046" to i64, !dbg !1429 %148 = inttoptr i64 %GenericMemoryRef47 to ptr, !dbg !1429 %current_task48 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !1429 %149 = addrspacecast ptr %148 to ptr addrspace(10), !dbg !1429 %"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 !1429 %150 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(11), !dbg !1429 store { ptr, ptr addrspace(10) } %"dest::Array.ref31", ptr addrspace(11) %150, align 8, !dbg !1429, !tbaa !54, !alias.scope !52, !noalias !53 %151 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(12), !dbg !1429 call void @ijl_bounds_error_int(ptr addrspace(12) %151, i64 %102), !dbg !1429 unreachable, !dbg !1429 idxend50: ; preds = %L142 %152 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset38, 0, !dbg !1429 %memory_ref51 = insertvalue { ptr, ptr addrspace(10) } %152, ptr addrspace(10) %memoryref_mem52, 1, !dbg !1429 %153 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !1429 %154 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %153, i32 0, i32 0, !dbg !1429 %memory_len53 = load i64, ptr addrspace(11) %154, align 8, !dbg !1429, !tbaa !234, !range !236, !alias.scope !232, !noalias !233 %155 = icmp eq i64 %memory_len53, 0, !dbg !1429 br i1 %155, label %oob54, label %load55, !dbg !1429 oob54: ; preds = %idxend50 %156 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(12), !dbg !1429 call void @ijl_bounds_error_int(ptr addrspace(12) %156, i64 1), !dbg !1429 unreachable, !dbg !1429 load55: ; preds = %idxend50 %157 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem52, ptr %memoryref_data32), !dbg !1429 %memoryref_data56 = getelementptr inbounds i8, ptr addrspace(13) %157, i64 %memoryref_byteoffset37, !dbg !1429 store double %147, ptr addrspace(13) %memoryref_data56, align 8, !dbg !1429, !tbaa !1179, !alias.scope !52, !noalias !53 br label %L146, !dbg !1437 after_error: ; No predecessors! call void @llvm.trap(), !dbg !1421 unreachable, !dbg !1421 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !1421 unreachable, !dbg !1421 after_error62: ; No predecessors! call void @llvm.trap(), !dbg !1416 unreachable, !dbg !1416 after_noret63: ; No predecessors! call void @llvm.trap(), !dbg !1416 unreachable, !dbg !1416 after_error64: ; No predecessors! call void @llvm.trap(), !dbg !1391 unreachable, !dbg !1391 after_noret65: ; No predecessors! call void @llvm.trap(), !dbg !1391 unreachable, !dbg !1391 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !1316 unreachable, !dbg !1316 after_noret67: ; No predecessors! call void @llvm.trap(), !dbg !1316 unreachable, !dbg !1316 } 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__71851(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) #10 !dbg !52 { 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 !54, !noalias !55 call void @llvm.memset.p0.i64(ptr align 8 %1, i8 0, i64 8, i1 false), !tbaa !28, !alias.scope !54, !noalias !55 call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !28, !alias.scope !54, !noalias !55 %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 !35, !noalias !38 %8 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !56 %.stop_ptr = getelementptr inbounds i8, ptr addrspace(11) %8, i32 8, !dbg !69 %.stop_ptr.unbox = load i64, ptr addrspace(11) %.stop_ptr, align 8, !dbg !81, !tbaa !32, !alias.scope !35, !noalias !38 %.unbox = load i64, ptr addrspace(11) %8, align 8, !dbg !81, !tbaa !32, !alias.scope !35, !noalias !38 %9 = sub i64 %.stop_ptr.unbox, %.unbox, !dbg !81 %10 = add i64 1, %9, !dbg !85 %11 = icmp eq i64 %10, 0, !dbg !87 %12 = xor i1 %11, true, !dbg !68 br i1 %12, label %L10, label %L9, !dbg !68 L9: ; preds = %top ret ptr addrspace(10) %"dest::Array", !dbg !68 L10: ; preds = %top %13 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !90 %"dest::Array.size_ptr" = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !90 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 !90, !tbaa !47, !alias.scope !99, !noalias !100 %"dest::Array.size.unbox" = load i64, ptr %"dest::Array.size", align 8, !dbg !101, !tbaa !102, !alias.scope !104, !noalias !105 %14 = icmp eq i64 %"dest::Array.size.unbox", 0, !dbg !101 %15 = xor i1 %14, true, !dbg !106 %16 = xor i1 %15, true, !dbg !94 br i1 %16, label %L39, label %L16, !dbg !94 L16: ; preds = %L10 %17 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !109 %.stop_ptr1 = getelementptr inbounds i8, ptr addrspace(11) %17, i32 8, !dbg !112 %.stop_ptr1.unbox = load i64, ptr addrspace(11) %.stop_ptr1, align 8, !dbg !118, !tbaa !32, !alias.scope !35, !noalias !38 %.unbox2 = load i64, ptr addrspace(11) %17, align 8, !dbg !118, !tbaa !32, !alias.scope !35, !noalias !38 %18 = sub i64 %.stop_ptr1.unbox, %.unbox2, !dbg !118 %19 = add i64 1, %18, !dbg !120 %20 = icmp eq i64 %19, 0, !dbg !101 %21 = xor i1 %20, true, !dbg !106 %22 = xor i1 %21, true, !dbg !94 br i1 %22, label %L38, label %L25, !dbg !94 L25: ; preds = %L16 %23 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !121 %24 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 0, !dbg !121 %25 = load ptr, ptr addrspace(11) %24, align 8, !dbg !121, !tbaa !124, !alias.scope !127, !noalias !128 %26 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 1, !dbg !121 %27 = load ptr addrspace(10), ptr addrspace(11) %26, align 8, !dbg !121, !tbaa !124, !alias.scope !127, !noalias !128, !dereferenceable_or_null !46, !align !44 %28 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %25, 0, !dbg !121 %"dest::Array.ref" = insertvalue { ptr, ptr addrspace(10) } %28, ptr addrspace(10) %27, 1, !dbg !121 %"dest::Array.ref.mem" = extractvalue { ptr, ptr addrspace(10) } %"dest::Array.ref", 1, !dbg !121 %29 = addrspacecast ptr addrspace(10) %"dest::Array.ref.mem" to ptr addrspace(11), !dbg !129 %"dest::Array.ref.mem.ptr_ptr" = getelementptr inbounds i8, ptr addrspace(11) %29, i32 8, !dbg !129 %bitcast = load ptr, ptr addrspace(11) %"dest::Array.ref.mem.ptr_ptr", align 8, !dbg !131, !tbaa !134, !alias.scope !127, !noalias !128 %bitcast_coercion = ptrtoint ptr %bitcast to i64, !dbg !131 %30 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !136 %31 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 0, !dbg !136 %32 = load ptr, ptr addrspace(11) %31, align 8, !dbg !136, !tbaa !124, !alias.scope !127, !noalias !128 %33 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !136 %34 = load ptr addrspace(10), ptr addrspace(11) %33, align 8, !dbg !136, !tbaa !124, !alias.scope !127, !noalias !128, !dereferenceable_or_null !46, !align !44 %35 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %32, 0, !dbg !136 %.ref = insertvalue { ptr, ptr addrspace(10) } %35, ptr addrspace(10) %34, 1, !dbg !136 %.ref.mem = extractvalue { ptr, ptr addrspace(10) } %.ref, 1, !dbg !136 %36 = addrspacecast ptr addrspace(10) %.ref.mem to ptr addrspace(11), !dbg !140 %.ref.mem.ptr_ptr = getelementptr inbounds i8, ptr addrspace(11) %36, i32 8, !dbg !140 %bitcast3 = load ptr, ptr addrspace(11) %.ref.mem.ptr_ptr, align 8, !dbg !142, !tbaa !134, !alias.scope !127, !noalias !128 %bitcast_coercion4 = ptrtoint ptr %bitcast3 to i64, !dbg !142 %37 = icmp eq i64 %bitcast_coercion, %bitcast_coercion4, !dbg !143 %38 = xor i1 %37, true, !dbg !149 %39 = xor i1 %38, true, !dbg !106 %40 = zext i1 %39 to i8 br label %L40, !dbg !106 L38: ; preds = %L16 br label %L40, !dbg !150 L39: ; preds = %L10 br label %L40, !dbg !150 L40: ; preds = %L39, %L38, %L25 %value_phi = phi i8 [ %40, %L25 ], [ 0, %L38 ], [ 0, %L39 ] %41 = trunc i8 %value_phi to i1, !dbg !96 %42 = xor i1 %41, true, !dbg !96 br i1 %42, label %L44, label %L42, !dbg !96 L42: ; preds = %L40 %43 = getelementptr inbounds i8, ptr %1, i32 0, !dbg !96 store ptr addrspace(10) %7, ptr %43, align 8, !dbg !96 call void @julia_unaliascopy_71858(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 !96 %44 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !96 %45 = load ptr addrspace(10), ptr %44, align 8, !dbg !96, !tbaa !28, !alias.scope !54, !noalias !55 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !153 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %sret_box, i64 40, i1 false), !dbg !153, !tbaa !47, !alias.scope !154, !noalias !155 br label %L45, !dbg !96 L44: ; preds = %L40 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !153 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %3, ptr addrspace(11) align 8 %"src::SubArray", i64 40, i1 false), !dbg !153, !tbaa !47, !alias.scope !156, !noalias !157 br label %L45, !dbg !150 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 !98 call void @llvm.lifetime.end.p0(i64 -1, ptr %3), !dbg !98 %46 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !158 %.stop_ptr5 = getelementptr inbounds i8, ptr %46, i32 8, !dbg !164 %.stop_ptr5.unbox = load i64, ptr %.stop_ptr5, align 8, !dbg !170, !tbaa !102, !alias.scope !104, !noalias !105 %.unbox6 = load i64, ptr %46, align 8, !dbg !170, !tbaa !102, !alias.scope !104, !noalias !105 %47 = sub i64 %.stop_ptr5.unbox, %.unbox6, !dbg !170 %48 = add i64 1, %47, !dbg !172 %49 = icmp eq i64 %48, 0, !dbg !173 %50 = xor i1 %49, true, !dbg !163 br i1 %50, label %L55, label %L54, !dbg !163 L54: ; preds = %L45 br label %L163, !dbg !163 L55: ; preds = %L45 %51 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !174 %"dest::Array.size_ptr8" = getelementptr inbounds i8, ptr addrspace(11) %51, i32 16, !dbg !174 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 !174, !tbaa !47, !alias.scope !99, !noalias !100 %52 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !180 %.stop_ptr10 = getelementptr inbounds i8, ptr %52, i32 8, !dbg !182 %.stop_ptr10.unbox = load i64, ptr %.stop_ptr10, align 8, !dbg !188, !tbaa !102, !alias.scope !104, !noalias !105 %.unbox11 = load i64, ptr %52, align 8, !dbg !188, !tbaa !102, !alias.scope !104, !noalias !105 %53 = sub i64 %.stop_ptr10.unbox, %.unbox11, !dbg !188 %54 = add i64 1, %53, !dbg !190 %55 = getelementptr inbounds i8, ptr %"new::LinearIndices", i32 0, !dbg !191 %56 = getelementptr inbounds i8, ptr %55, i32 0, !dbg !191 %57 = getelementptr inbounds i8, ptr %56, i32 0, !dbg !191 store i64 %54, ptr %57, align 8, !dbg !191, !tbaa !102, !alias.scope !104, !noalias !105 %bitcast12 = load i64, ptr %"dest::Array.size9", align 8, !dbg !196, !tbaa !102, !alias.scope !104, !noalias !105 %58 = icmp ult i64 0, %bitcast12, !dbg !204 %59 = add i64 %54, 0, !dbg !206 %60 = sub i64 %59, 1, !dbg !207 %bitcast13 = load i64, ptr %"dest::Array.size9", align 8, !dbg !196, !tbaa !102, !alias.scope !104, !noalias !105 %61 = icmp ult i64 %60, %bitcast13, !dbg !204 %62 = and i1 %58, %61, !dbg !208 %63 = xor i1 %62, true, !dbg !150 br i1 %63, label %L160, label %L76, !dbg !150 L76: ; preds = %L55 %64 = icmp slt i64 %54, 1, !dbg !210 %65 = xor i1 %64, true, !dbg !215 br i1 %65, label %L79, label %L78, !dbg !215 L78: ; preds = %L76 br label %L80, !dbg !215 L79: ; preds = %L76 br label %L80, !dbg !215 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 !217 L84: ; preds = %L80 %66 = trunc i8 %value_phi14 to i1, !dbg !219 %67 = xor i1 %66, true, !dbg !219 %68 = xor i1 %67, true, !dbg !219 br i1 %68, label %L159, label %L84.L86_crit_edge, !dbg !219 L84.L86_crit_edge: ; preds = %L84 br label %L86, !dbg !215 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 !220 L90: ; preds = %L86 %69 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !220 store i64 %value_phi17, ptr %69, align 8, !dbg !220, !tbaa !102, !alias.scope !104, !noalias !105 %70 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !223 %.stop_ptr19 = getelementptr inbounds i8, ptr %70, i32 8, !dbg !230 %.stop_ptr19.unbox = load i64, ptr %.stop_ptr19, align 8, !dbg !239, !tbaa !102, !alias.scope !104, !noalias !105 %.unbox20 = load i64, ptr %70, align 8, !dbg !239, !tbaa !102, !alias.scope !104, !noalias !105 %71 = sub i64 %.stop_ptr19.unbox, %.unbox20, !dbg !239 %72 = add i64 1, %71, !dbg !241 %73 = sub i64 %value_phi17, 1, !dbg !242 %74 = icmp ult i64 %73, %72, !dbg !244 %75 = xor i1 %74, true, !dbg !229 br i1 %75, label %L103, label %L102, !dbg !229 L102: ; preds = %L90 br label %L105, !dbg !229 L103: ; preds = %L90 %76 = getelementptr inbounds i8, ptr %4, i32 0, !dbg !229 store ptr addrspace(10) %root_phi, ptr %76, align 8, !dbg !229 %77 = addrspacecast ptr %2 to ptr addrspace(11), !dbg !229 %78 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !229 call void @julia_throw_boundserror_71817(ptr addrspace(11) nocapture readonly %77, ptr nocapture readonly %4, ptr addrspace(11) nocapture readonly %78) #36, !dbg !229 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2), !dbg !229 unreachable, !dbg !229 L105: ; preds = %L102 br label %L106, !dbg !229 L106: ; preds = %L105, %L86 %79 = getelementptr inbounds i8, ptr %2, i32 24, !dbg !245 %.unbox21 = load i64, ptr %79, align 8, !dbg !249, !tbaa !102, !alias.scope !104, !noalias !105 %80 = add i64 %.unbox21, %value_phi17, !dbg !249 br i1 false, label %L123, label %L111, !dbg !250 L111: ; preds = %L106 %81 = sub i64 %80, 1, !dbg !252 %82 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !255 %root_phi.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %82, i32 16, !dbg !255 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 !255, !tbaa !47, !alias.scope !99, !noalias !100 %bitcast22 = load i64, ptr %root_phi.size, align 8, !dbg !252, !tbaa !102, !alias.scope !104, !noalias !105 %83 = icmp ult i64 %81, %bitcast22, !dbg !252 %84 = xor i1 %83, true, !dbg !254 br i1 %84, label %L119, label %L118, !dbg !254 L118: ; preds = %L111 br label %L122, !dbg !254 L119: ; preds = %L111 %85 = getelementptr inbounds i8, ptr %"new::Tuple61", i32 0, !dbg !254 store i64 %80, ptr %85, align 8, !dbg !254, !tbaa !102, !alias.scope !104, !noalias !105 %86 = addrspacecast ptr %"new::Tuple61" to ptr addrspace(11), !dbg !254 call void @julia_throw_boundserror_71815(ptr addrspace(10) %root_phi, ptr addrspace(11) nocapture readonly %86) #36, !dbg !254 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2), !dbg !254 unreachable, !dbg !254 L122: ; preds = %L118 br label %L123, !dbg !254 L123: ; preds = %L122, %L106 %87 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !257 %88 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 0, !dbg !257 %memoryref_data = load ptr, ptr addrspace(11) %88, align 8, !dbg !257, !tbaa !124, !alias.scope !127, !noalias !128 %89 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 1, !dbg !257 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %89, align 8, !dbg !257, !tbaa !124, !alias.scope !127, !noalias !128, !dereferenceable_or_null !46, !align !44 %90 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !257 %root_phi.ref = insertvalue { ptr, ptr addrspace(10) } %90, ptr addrspace(10) %memoryref_mem, 1, !dbg !257 %memoryref_offset = sub i64 %80, 1, !dbg !257 %91 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !257 %92 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %91, i32 0, i32 0, !dbg !257 %memory_len = load i64, ptr addrspace(11) %92, align 8, !dbg !257, !tbaa !258, !range !260, !alias.scope !127, !noalias !128 %93 = add nuw i64 %memory_len, %memory_len, !dbg !257 %94 = add i64 %memoryref_offset, %memory_len, !dbg !257 %memoryref_ovflw = icmp uge i64 %94, %93, !dbg !257 %memoryref_byteoffset = mul i64 %memoryref_offset, 8, !dbg !257 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 %memoryref_byteoffset, !dbg !257 %95 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !257 %96 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %95, i32 0, i32 0, !dbg !257 %memory_len23 = load i64, ptr addrspace(11) %96, align 8, !dbg !257, !tbaa !258, !range !260, !alias.scope !127, !noalias !128 %97 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !257 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %97, i32 0, i32 1, !dbg !257 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !257, !tbaa !134, !alias.scope !127, !noalias !128, !nonnull !0 %98 = ptrtoint ptr %memory_data to i64, !dbg !257 %99 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !257 %100 = sub i64 %99, %98, !dbg !257 %memoryref_bytelen = mul nuw nsw i64 %memory_len23, 8, !dbg !257 %memoryref_isinbounds = icmp ult i64 %100, %memoryref_bytelen, !dbg !257 %101 = xor i1 %memoryref_ovflw, true, !dbg !257 %"memoryref_isinbounds¬ovflw" = and i1 %101, %memoryref_isinbounds, !dbg !257 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !257 L127: ; preds = %load br label %L128, !dbg !257 L128: ; preds = %L127 %102 = add i64 %value_phi17, 0, !dbg !261 br i1 false, label %L142, label %L131, !dbg !262 L131: ; preds = %L128 %103 = sub i64 %102, 1, !dbg !267 %104 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !268 %"dest::Array.size_ptr28" = getelementptr inbounds i8, ptr addrspace(11) %104, i32 16, !dbg !268 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 !268, !tbaa !47, !alias.scope !99, !noalias !100 %bitcast30 = load i64, ptr %"dest::Array.size29", align 8, !dbg !267, !tbaa !102, !alias.scope !104, !noalias !105 %105 = icmp ult i64 %103, %bitcast30, !dbg !267 %106 = xor i1 %105, true, !dbg !262 br i1 %106, label %L139, label %L138, !dbg !262 L138: ; preds = %L131 br label %L142, !dbg !262 L139: ; preds = %L131 %107 = getelementptr inbounds i8, ptr %"new::Tuple60", i32 0, !dbg !262 store i64 %102, ptr %107, align 8, !dbg !262, !tbaa !102, !alias.scope !104, !noalias !105 %108 = addrspacecast ptr %"new::Tuple60" to ptr addrspace(11), !dbg !262 call void @julia_throw_boundserror_71815(ptr addrspace(10) %"dest::Array", ptr addrspace(11) nocapture readonly %108) #36, !dbg !262 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2), !dbg !262 unreachable, !dbg !262 L142: ; preds = %L138, %L128 %109 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !270 %110 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 0, !dbg !270 %memoryref_data32 = load ptr, ptr addrspace(11) %110, align 8, !dbg !270, !tbaa !124, !alias.scope !127, !noalias !128 %111 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 1, !dbg !270 %memoryref_mem52 = load ptr addrspace(10), ptr addrspace(11) %111, align 8, !dbg !270, !tbaa !124, !alias.scope !127, !noalias !128, !dereferenceable_or_null !46, !align !44 %112 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data32, 0, !dbg !270 %"dest::Array.ref31" = insertvalue { ptr, ptr addrspace(10) } %112, ptr addrspace(10) %memoryref_mem52, 1, !dbg !270 %memoryref_offset34 = sub i64 %102, 1, !dbg !271 %113 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !271 %114 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %113, i32 0, i32 0, !dbg !271 %memory_len35 = load i64, ptr addrspace(11) %114, align 8, !dbg !271, !tbaa !258, !range !260, !alias.scope !127, !noalias !128 %115 = add nuw i64 %memory_len35, %memory_len35, !dbg !271 %116 = add i64 %memoryref_offset34, %memory_len35, !dbg !271 %memoryref_ovflw36 = icmp uge i64 %116, %115, !dbg !271 %memoryref_byteoffset37 = mul i64 %memoryref_offset34, 8, !dbg !271 %memoryref_data_byteoffset38 = getelementptr i8, ptr %memoryref_data32, i64 %memoryref_byteoffset37, !dbg !271 %117 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !271 %118 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %117, i32 0, i32 0, !dbg !271 %memory_len39 = load i64, ptr addrspace(11) %118, align 8, !dbg !271, !tbaa !258, !range !260, !alias.scope !127, !noalias !128 %119 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !271 %memory_data_ptr40 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %119, i32 0, i32 1, !dbg !271 %memory_data41 = load ptr, ptr addrspace(11) %memory_data_ptr40, align 8, !dbg !271, !tbaa !134, !alias.scope !127, !noalias !128, !nonnull !0 %120 = ptrtoint ptr %memory_data41 to i64, !dbg !271 %121 = ptrtoint ptr %memoryref_data_byteoffset38 to i64, !dbg !271 %122 = sub i64 %121, %120, !dbg !271 %memoryref_bytelen42 = mul nuw nsw i64 %memory_len39, 8, !dbg !271 %memoryref_isinbounds43 = icmp ult i64 %122, %memoryref_bytelen42, !dbg !271 %123 = xor i1 %memoryref_ovflw36, true, !dbg !271 %"memoryref_isinbounds¬ovflw44" = and i1 %123, %memoryref_isinbounds43, !dbg !271 br i1 %"memoryref_isinbounds¬ovflw44", label %idxend50, label %oob45, !dbg !271 L146: ; preds = %load55 br label %L147, !dbg !265 L147: ; preds = %L146 %124 = icmp eq i64 %value_phi18, %54, !dbg !272 %125 = xor i1 %124, true, !dbg !273 br i1 %125, label %L150, label %L149, !dbg !273 L149: ; preds = %L147 br label %L152, !dbg !273 L150: ; preds = %L147 %126 = add i64 %value_phi18, 1, !dbg !276 br label %L152, !dbg !273 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 !274 L156: ; preds = %L152 %127 = trunc i8 %value_phi59 to i1, !dbg !275 %128 = xor i1 %127, true, !dbg !275 %129 = xor i1 %128, true, !dbg !275 br i1 %129, label %L159, label %L158, !dbg !275 L158: ; preds = %L156 br label %L86, !dbg !215 L159: ; preds = %L156, %L84 br label %L163, !dbg !278 L160: ; preds = %L55 %"-Core.BoundsError#71856" = load ptr, ptr @_Core_BoundsError_71856, align 8, !dbg !150, !tbaa !32, !alias.scope !35, !noalias !38, !nonnull !0, !dereferenceable !43, !align !44 %130 = addrspacecast ptr %"-Core.BoundsError#71856" to ptr addrspace(10), !dbg !150 %"+Core.BoundsError#71807" = load ptr, ptr @_Core_BoundsError_71807, align 8, !dbg !150, !tbaa !32, !alias.scope !35, !noalias !38, !nonnull !0, !dereferenceable !45, !align !46 %131 = addrspacecast ptr %"+Core.BoundsError#71807" to ptr addrspace(10), !dbg !150 %"+Main.Base.LinearIndices#71857" = load ptr, ptr @_Main_Base_LinearIndices_71857, align 8, !dbg !150, !tbaa !32, !alias.scope !35, !noalias !38, !nonnull !0, !dereferenceable !45, !align !46 %LinearIndices = ptrtoint ptr %"+Main.Base.LinearIndices#71857" to i64, !dbg !150 %132 = inttoptr i64 %LinearIndices to ptr, !dbg !150 %current_task66 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !150 %133 = addrspacecast ptr %132 to ptr addrspace(10), !dbg !150 %"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 !150 %134 = addrspacecast ptr addrspace(10) %"box::LinearIndices" to ptr addrspace(11), !dbg !150 call void @llvm.memcpy.p11.p0.i64(ptr addrspace(11) align 8 %134, ptr align 8 %"new::LinearIndices", i64 8, i1 false), !dbg !150, !tbaa !47, !alias.scope !279, !noalias !280 %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 !150 %136 = addrspacecast ptr addrspace(10) %135 to ptr addrspace(12), !dbg !150 call void @ijl_throw(ptr addrspace(12) %136), !dbg !150 unreachable, !dbg !150 L163: ; preds = %L159, %L54 %value_phi7 = phi ptr addrspace(10) [ %"dest::Array", %L54 ], [ %"dest::Array", %L159 ] ret ptr addrspace(10) %value_phi7, !dbg !152 oob: ; preds = %L123 %"+Core.GenericMemoryRef#71789" = load ptr, ptr @_Core_GenericMemoryRef_71789, align 8, !dbg !257, !tbaa !32, !alias.scope !35, !noalias !38, !nonnull !0, !dereferenceable !45, !align !46 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#71789" to i64, !dbg !257 %137 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !257 %current_task24 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !257 %138 = addrspacecast ptr %137 to ptr addrspace(10), !dbg !257 %"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 !257 %139 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !257 store { ptr, ptr addrspace(10) } %root_phi.ref, ptr addrspace(11) %139, align 8, !dbg !257, !tbaa !281, !alias.scope !285, !noalias !286 %140 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !257 call void @ijl_bounds_error_int(ptr addrspace(12) %140, i64 %80), !dbg !257 unreachable, !dbg !257 idxend: ; preds = %L123 %141 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !257 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %141, ptr addrspace(10) %memoryref_mem, 1, !dbg !257 %142 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !257 %143 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %142, i32 0, i32 0, !dbg !257 %memory_len25 = load i64, ptr addrspace(11) %143, align 8, !dbg !257, !tbaa !258, !range !260, !alias.scope !127, !noalias !128 %144 = icmp eq i64 %memory_len25, 0, !dbg !257 br i1 %144, label %oob26, label %load, !dbg !257 oob26: ; preds = %idxend %145 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !257 call void @ijl_bounds_error_int(ptr addrspace(12) %145, i64 1), !dbg !257 unreachable, !dbg !257 load: ; preds = %idxend %146 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !257 %memoryref_data27 = getelementptr inbounds i8, ptr addrspace(13) %146, i64 %memoryref_byteoffset, !dbg !257 %147 = load double, ptr addrspace(13) %memoryref_data27, align 8, !dbg !257, !tbaa !287, !alias.scope !285, !noalias !286 br label %L127, !dbg !257 oob45: ; preds = %L142 %"+Core.GenericMemoryRef#7178946" = load ptr, ptr @_Core_GenericMemoryRef_71789, align 8, !dbg !271, !tbaa !32, !alias.scope !35, !noalias !38, !nonnull !0, !dereferenceable !45, !align !46 %GenericMemoryRef47 = ptrtoint ptr %"+Core.GenericMemoryRef#7178946" to i64, !dbg !271 %148 = inttoptr i64 %GenericMemoryRef47 to ptr, !dbg !271 %current_task48 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !271 %149 = addrspacecast ptr %148 to ptr addrspace(10), !dbg !271 %"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 !271 %150 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(11), !dbg !271 store { ptr, ptr addrspace(10) } %"dest::Array.ref31", ptr addrspace(11) %150, align 8, !dbg !271, !tbaa !281, !alias.scope !285, !noalias !286 %151 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(12), !dbg !271 call void @ijl_bounds_error_int(ptr addrspace(12) %151, i64 %102), !dbg !271 unreachable, !dbg !271 idxend50: ; preds = %L142 %152 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset38, 0, !dbg !271 %memory_ref51 = insertvalue { ptr, ptr addrspace(10) } %152, ptr addrspace(10) %memoryref_mem52, 1, !dbg !271 %153 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !271 %154 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %153, i32 0, i32 0, !dbg !271 %memory_len53 = load i64, ptr addrspace(11) %154, align 8, !dbg !271, !tbaa !258, !range !260, !alias.scope !127, !noalias !128 %155 = icmp eq i64 %memory_len53, 0, !dbg !271 br i1 %155, label %oob54, label %load55, !dbg !271 oob54: ; preds = %idxend50 %156 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(12), !dbg !271 call void @ijl_bounds_error_int(ptr addrspace(12) %156, i64 1), !dbg !271 unreachable, !dbg !271 load55: ; preds = %idxend50 %157 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem52, ptr %memoryref_data32), !dbg !271 %memoryref_data56 = getelementptr inbounds i8, ptr addrspace(13) %157, i64 %memoryref_byteoffset37, !dbg !271 store double %147, ptr addrspace(13) %memoryref_data56, align 8, !dbg !271, !tbaa !287, !alias.scope !285, !noalias !286 br label %L146, !dbg !289 after_error: ; No predecessors! call void @llvm.trap(), !dbg !262 unreachable, !dbg !262 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !262 unreachable, !dbg !262 after_error62: ; No predecessors! call void @llvm.trap(), !dbg !254 unreachable, !dbg !254 after_noret63: ; No predecessors! call void @llvm.trap(), !dbg !254 unreachable, !dbg !254 after_error64: ; No predecessors! call void @llvm.trap(), !dbg !229 unreachable, !dbg !229 after_noret65: ; No predecessors! call void @llvm.trap(), !dbg !229 unreachable, !dbg !229 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !150 unreachable, !dbg !150 after_noret67: ; No predecessors! call void @llvm.trap(), !dbg !150 unreachable, !dbg !150 } 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_abs2_pullback#580"{Matrix{Float64}}}, Zygote.Pullback{Tuple{Type{AdditiveLR}}, Tuple{}}, Zygote.ZBack{VLBIImagePriorsEnzymeExt.var"#_to_simplex_pullback#_to_simplex_pullback##1"{AdditiveLR, Matrix{Float64}, Matrix{Float64}}}, 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}}}})(Δ::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_abs2_pullback#580"{Matrix{Float64}}}, Zygote.Pullback{Tuple{Type{AdditiveLR}}, Tuple{}}, Zygote.ZBack{VLBIImagePriorsEnzymeExt.var"#_to_simplex_pullback#_to_simplex_pullback##1"{AdditiveLR, Matrix{Float64}, Matrix{Float64}}}, 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}}}}})(Δ::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 20m06.5s Angular Distributions | 54 54 3m38.0s 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 4m50.8s CenterImage | 26 26 2m40.8s ImageUniform | 12 1 13 17.8s test_rrule: _logpdf on ImageUniform{Float64},Matrix{Float64} | 8 8 2.0s ImageSphericalUniform | 4 4 7.7s ImageDirichlet | 5 1 6 27.9s GMRF | 43 5 48 5m21.0s MarkovRandomFieldGraph | 12 12 11.2s Tall | 12 2 14 2m30.5s Order 1 | 6 1 7 1m12.8s test_rrule: sq_manoblis on MarkovRandomFieldGraph{1, SparseArrays.SparseMatrixCSC{Float64, Int64}, Diagonal{Float64, Vector{Float64}}, Matrix{Float64}},Matrix{Float64},Float64 | 1 1 2 1.7s Order 2 | 6 1 7 1m17.7s 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 2m16.2s Order 1 | 6 1 7 54.8s 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 1m17.9s 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.5s ExpMRF | 3 3 2.3s TDistMRF | 16 16 3.6s ConditionalMarkov | 3 3 0.5s Hierarchical Prior | 2 2 10.2s Noncenter Markov Gaussian | 1 1 5.9s StationaryRandomFieldPlan | 8 8 2.2s Power Spectra | 21 21 1m20.2s StdNormal | 8 2 10 19.0s matern | 6 6 0.2s Simplex | 6 2 8 4.9s ImageSimplex | 5 2 7 4.9s test_rrule: simplex_fwd on TransformVariables.NoLogJac,VLBIImagePriors.ImageSimplex,Vector{Float64} | 1 1 2 1.6s test_rrule: simplex_fwd on TransformVariables.LogJac,VLBIImagePriors.ImageSimplex,Vector{Float64} | 1 1 2 1.4s Log Ratio Transform | 6 3 9 23.0s test_rrule: to_simplex on AdditiveLR,Matrix{Float64} | 1 1 2 6.6s test_rrule: to_simplex on CenteredLR,Matrix{Float64} | 1 1 2 4.8s FFTW Rules | 2 2 2.6s Complex inplace transform | 1 1 1.6s R2R inplace transform | 1 1 1.0s RNG of the outermost testset: Random.Xoshiro(0x64b1ca0047f43713, 0x01c372bd989135e1, 0x74e31dd125629cd1, 0x7439005685d43b2b, 0xdffab9ac756286f8) 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 1429.6s 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:2936 [3] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:2785 [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 1536.17s: package tests unexpectedly errored