Package evaluation to test ExpFamilyPCA on Julia 1.14.0-DEV.1589 (2d9a3f8a61*) started at 2026-01-21T12:22:00.553 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 9.96s ################################################################################ # Installation # Installing ExpFamilyPCA... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [9c724b78] + ExpFamilyPCA v2.0.3 Updating `~/.julia/environments/v1.14/Manifest.toml` [47edcb42] + ADTypes v1.21.0 [1520ce14] + AbstractTrees v0.4.5 [7d9f7c33] + Accessors v0.1.43 [79e6a3ab] + Adapt v4.4.0 [66dad0bd] + AliasTables v1.1.3 [4fba245c] + ArrayInterface v7.22.0 [e2ed5e7c] + Bijections v0.2.2 [d360d2e6] + ChainRulesCore v1.26.0 ⌅ [861a8166] + Combinatorics v1.0.2 [38540f10] + CommonSolve v0.2.6 [bbf7d656] + CommonSubexpressions v0.3.1 [f70d9fcc] + CommonWorldInvalidations v1.0.0 [34da2185] + Compat v4.18.1 [b152e2b5] + CompositeTypes v0.1.4 [a33af91c] + CompositionsBase v0.1.2 [187b0558] + ConstructionBase v1.6.0 [9a962f9c] + DataAPI v1.16.0 [864edb3b] + DataStructures v0.19.3 [8bb1440f] + DelimitedFiles v1.9.1 [163ba53b] + DiffResults v1.1.0 [b552c78f] + DiffRules v1.15.1 [a0c0ee7d] + DifferentiationInterface v0.7.14 [b4f34e82] + Distances v0.10.12 [31c24e10] + Distributions v0.25.123 [ffbed154] + DocStringExtensions v0.9.5 [5b8099bc] + DomainSets v0.7.16 [7c1d4256] + DynamicPolynomials v0.6.4 [4e289a0a] + EnumX v1.0.5 [9c724b78] + ExpFamilyPCA v2.0.3 [e2ba6199] + ExprTools v0.1.10 [55351af7] + ExproniconLite v0.10.14 [1a297f60] + FillArrays v1.16.0 [6a86dc24] + FiniteDiff v2.29.0 [1fa38f19] + Format v1.3.7 [f6369f11] + ForwardDiff v1.3.1 [069b7b12] + FunctionWrappers v1.1.3 [77dc65aa] + FunctionWrappersWrappers v0.1.3 [46192b85] + GPUArraysCore v0.2.0 [34004b35] + HypergeometricFunctions v0.3.28 [18e54dd8] + IntegerMathUtils v0.1.3 [8197267c] + IntervalSets v0.7.13 [3587e190] + InverseFunctions v0.1.17 [92d709cd] + IrrationalConstants v0.2.6 [82899510] + IteratorInterfaceExtensions v1.0.0 [692b3bcd] + JLLWrappers v1.7.1 [ae98c720] + Jieko v0.2.1 [b964fa9f] + LaTeXStrings v1.4.0 [23fbe1c1] + Latexify v0.16.10 ⌃ [d3d80556] + LineSearches v7.5.1 [2ab3a3ac] + LogExpFunctions v0.3.29 [e6f89c97] + LoggingExtras v1.2.0 [1914dd2f] + MacroTools v0.5.16 [e1d29d7a] + Missings v1.2.0 [2e0e35c7] + Moshi v0.3.7 [102ac46a] + MultivariatePolynomials v0.5.13 [d8a4904e] + MutableArithmetics v1.6.7 ⌅ [d41bc354] + NLSolversBase v7.10.0 [77ba4419] + NaNMath v1.1.3 [6fe1bfb0] + OffsetArrays v1.17.0 ⌅ [429524aa] + Optim v1.13.3 [bac558e1] + OrderedCollections v1.8.1 [90014a1f] + PDMats v0.11.37 [85a6dd25] + PositiveFactorizations v0.2.4 ⌃ [d236fae5] + PreallocationTools v0.4.34 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.1 [27ebfcd6] + Primes v0.5.7 [43287f4e] + PtrArrays v1.3.0 [1fd47b50] + QuadGK v2.11.2 [3cdcf5f2] + RecipesBase v1.3.4 [731186ca] + RecursiveArrayTools v3.44.0 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [79098fc4] + Rmath v0.9.0 [7e49a35a] + RuntimeGeneratedFunctions v0.5.16 [0bca4576] + SciMLBase v2.134.0 [a6db7da4] + SciMLLogging v1.8.0 [c0aeaf25] + SciMLOperators v1.14.1 [431bcebd] + SciMLPublic v1.0.1 [53ae85a6] + SciMLStructures v1.10.0 [efcf1570] + Setfield v1.1.2 [ed01d8cd] + Sobol v1.5.0 [a2af1166] + SortingAlgorithms v1.2.2 [276daf66] + SpecialFunctions v2.6.1 [90137ffa] + StaticArrays v1.9.16 [1e83bf80] + StaticArraysCore v1.4.4 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.8.0 [2913bbd2] + StatsBase v0.34.10 [4c63d2b9] + StatsFuns v1.5.2 [2efcf032] + SymbolicIndexingInterface v0.3.46 ⌅ [19f23fe9] + SymbolicLimits v0.2.3 ⌅ [d1185830] + SymbolicUtils v3.32.0 ⌅ [0c5d862f] + Symbolics v6.58.0 [ed4db957] + TaskLocalValues v0.1.3 [8ea1fca8] + TermInterface v2.0.0 [a759f4b9] + TimerOutputs v0.5.29 [a7c27f48] + Unityper v0.1.6 [61579ee1] + Ghostscript_jll v9.55.1+0 [aacddb02] + JpegTurbo_jll v3.1.4+0 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 [f50d1b31] + Rmath_jll v0.5.1+0 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [8ba89e20] + Distributed v1.11.0 [9fa8497b] + Future v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [a63ad114] + Mmap v1.11.0 [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.13.0 [4607b0f0] + SuiteSparse [fa267f1f] + TOML v1.0.3 [8dfed614] + Test v1.11.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.3.0+1 [4536629a] + OpenBLAS_jll v0.3.29+0 [05823500] + OpenLibm_jll v0.8.7+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [83775a58] + Zlib_jll v1.3.1+2 [8e850b90] + libblastrampoline_jll v5.15.0+0 Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m` Installation completed after 6.49s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 14395.7 ms ✓ Symbolics → SymbolicsForwardDiffExt 12557.1 ms ✓ DifferentiationInterface → DifferentiationInterfaceSymbolicsExt 14127.5 ms ✓ Symbolics → SymbolicsPreallocationToolsExt 14875.0 ms ✓ ExpFamilyPCA 4 dependencies successfully precompiled in 59 seconds. 185 already precompiled. Precompilation completed after 75.31s ################################################################################ # Testing # Testing ExpFamilyPCA Status `/tmp/jl_z4ZYUO/Project.toml` [b4f34e82] Distances v0.10.12 [9c724b78] ExpFamilyPCA v2.0.3 [069b7b12] FunctionWrappers v1.1.3 [2ab3a3ac] LogExpFunctions v0.3.29 ⌅ [429524aa] Optim v1.13.3 [ed01d8cd] Sobol v1.5.0 [10745b16] Statistics v1.11.1 ⌅ [0c5d862f] Symbolics v6.58.0 [9a3f8284] Random v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_z4ZYUO/Manifest.toml` [47edcb42] ADTypes v1.21.0 [1520ce14] AbstractTrees v0.4.5 [7d9f7c33] Accessors v0.1.43 [79e6a3ab] Adapt v4.4.0 [66dad0bd] AliasTables v1.1.3 [4fba245c] ArrayInterface v7.22.0 [e2ed5e7c] Bijections v0.2.2 [d360d2e6] ChainRulesCore v1.26.0 ⌅ [861a8166] Combinatorics v1.0.2 [38540f10] CommonSolve v0.2.6 [bbf7d656] CommonSubexpressions v0.3.1 [f70d9fcc] CommonWorldInvalidations v1.0.0 [34da2185] Compat v4.18.1 [b152e2b5] CompositeTypes v0.1.4 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.6.0 [9a962f9c] DataAPI v1.16.0 [864edb3b] DataStructures v0.19.3 [8bb1440f] DelimitedFiles v1.9.1 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.15.1 [a0c0ee7d] DifferentiationInterface v0.7.14 [b4f34e82] Distances v0.10.12 [31c24e10] Distributions v0.25.123 [ffbed154] DocStringExtensions v0.9.5 [5b8099bc] DomainSets v0.7.16 [7c1d4256] DynamicPolynomials v0.6.4 [4e289a0a] EnumX v1.0.5 [9c724b78] ExpFamilyPCA v2.0.3 [e2ba6199] ExprTools v0.1.10 [55351af7] ExproniconLite v0.10.14 [1a297f60] FillArrays v1.16.0 [6a86dc24] FiniteDiff v2.29.0 [1fa38f19] Format v1.3.7 [f6369f11] ForwardDiff v1.3.1 [069b7b12] FunctionWrappers v1.1.3 [77dc65aa] FunctionWrappersWrappers v0.1.3 [46192b85] GPUArraysCore v0.2.0 [34004b35] HypergeometricFunctions v0.3.28 [18e54dd8] IntegerMathUtils v0.1.3 [8197267c] IntervalSets v0.7.13 [3587e190] InverseFunctions v0.1.17 [92d709cd] IrrationalConstants v0.2.6 [82899510] IteratorInterfaceExtensions v1.0.0 [692b3bcd] JLLWrappers v1.7.1 [ae98c720] Jieko v0.2.1 [b964fa9f] LaTeXStrings v1.4.0 [23fbe1c1] Latexify v0.16.10 ⌃ [d3d80556] LineSearches v7.5.1 [2ab3a3ac] LogExpFunctions v0.3.29 [e6f89c97] LoggingExtras v1.2.0 [1914dd2f] MacroTools v0.5.16 [e1d29d7a] Missings v1.2.0 [2e0e35c7] Moshi v0.3.7 [102ac46a] MultivariatePolynomials v0.5.13 [d8a4904e] MutableArithmetics v1.6.7 ⌅ [d41bc354] NLSolversBase v7.10.0 [77ba4419] NaNMath v1.1.3 [6fe1bfb0] OffsetArrays v1.17.0 ⌅ [429524aa] Optim v1.13.3 [bac558e1] OrderedCollections v1.8.1 [90014a1f] PDMats v0.11.37 [85a6dd25] PositiveFactorizations v0.2.4 ⌃ [d236fae5] PreallocationTools v0.4.34 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.1 [27ebfcd6] Primes v0.5.7 [43287f4e] PtrArrays v1.3.0 [1fd47b50] QuadGK v2.11.2 [3cdcf5f2] RecipesBase v1.3.4 [731186ca] RecursiveArrayTools v3.44.0 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [79098fc4] Rmath v0.9.0 [7e49a35a] RuntimeGeneratedFunctions v0.5.16 [0bca4576] SciMLBase v2.134.0 [a6db7da4] SciMLLogging v1.8.0 [c0aeaf25] SciMLOperators v1.14.1 [431bcebd] SciMLPublic v1.0.1 [53ae85a6] SciMLStructures v1.10.0 [efcf1570] Setfield v1.1.2 [ed01d8cd] Sobol v1.5.0 [a2af1166] SortingAlgorithms v1.2.2 [276daf66] SpecialFunctions v2.6.1 [90137ffa] StaticArrays v1.9.16 [1e83bf80] StaticArraysCore v1.4.4 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.8.0 [2913bbd2] StatsBase v0.34.10 [4c63d2b9] StatsFuns v1.5.2 [2efcf032] SymbolicIndexingInterface v0.3.46 ⌅ [19f23fe9] SymbolicLimits v0.2.3 ⌅ [d1185830] SymbolicUtils v3.32.0 ⌅ [0c5d862f] Symbolics v6.58.0 [ed4db957] TaskLocalValues v0.1.3 [8ea1fca8] TermInterface v2.0.0 [a759f4b9] TimerOutputs v0.5.29 [a7c27f48] Unityper v0.1.6 [61579ee1] Ghostscript_jll v9.55.1+0 [aacddb02] JpegTurbo_jll v3.1.4+0 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [f50d1b31] Rmath_jll v0.5.1+0 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.11.0 [9fa8497b] Future v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [a63ad114] Mmap v1.11.0 [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.13.0 [4607b0f0] SuiteSparse [fa267f1f] TOML v1.0.3 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.3.0+1 [4536629a] OpenBLAS_jll v0.3.29+0 [05823500] OpenLibm_jll v0.8.7+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.1+2 [8e850b90] libblastrampoline_jll v5.15.0+0 Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. Testing Running tests... Gamma: Error During Test at /home/pkgeval/.julia/packages/ExpFamilyPCA/w6PkA/test/family/test_gamma.jl:1 Got exception outside of a @test DomainError with -869.9400649486282: log was called with a negative real argument but will only return a complex result if called with a complex argument. Try log(Complex(x)). DomainError detected in the user `f` function. This occurs when the domain of a function is violated. For example, `log(-1.0)` is undefined because `log` of a real number is defined to only output real numbers, but `log` of a negative number is complex valued and therefore Julia throws a DomainError by default. Cases to be aware of include: * `log(x)`, `sqrt(x)`, `cbrt(x)`, etc. where `x<0` * `x^y` for `x<0` floating point `y` (example: `(-1.0)^(1/2) == im`) Within the context of SciML, this error can occur within the solver process even if the domain constraint would not be violated in the solution due to adaptivity. For example, an ODE solver or optimization routine may check a step at `new_u` which violates the domain constraint, and if violated reject the step and use a smaller `dt`. However, the throwing of this error will have halted the solving process. Thus the recommended fix is to replace this function with the equivalent ones from NaNMath.jl (https://github.com/JuliaMath/NaNMath.jl) which returns a NaN instead of an error. The solver will then effectively use the NaN within the error control routines to reject the out of bounds step. Additionally, one could perform a domain transformation on the variables so that such an issue does not occur in the definition of `f`. For more information, check out the following FAQ page: Stacktrace: [1] throw_complex_domainerror(f::Symbol, x::Float64) @ Base.Math ./math.jl:33 [2] _log @ ./special/log.jl:295 [inlined] [3] log(x::Float64) @ Base.Math ./special/log.jl:261 [4] Bg @ ~/.julia/packages/ExpFamilyPCA/w6PkA/src/family/gamma.jl:30 [inlined] [5] _broadcast_getindex_evalf @ ./broadcast.jl:698 [inlined] [6] _broadcast_getindex @ ./broadcast.jl:671 [inlined] [7] _getindex @ ./broadcast.jl:619 [inlined] [8] getindex @ ./broadcast.jl:615 [inlined] [9] macro expansion @ ./broadcast.jl:994 [inlined] [10] macro expansion @ ./simdloop.jl:77 [inlined] [11] copyto! @ ./broadcast.jl:993 [inlined] [12] copyto! @ ./broadcast.jl:946 [inlined] [13] copy @ ./broadcast.jl:918 [inlined] [14] materialize @ ./broadcast.jl:893 [inlined] [15] (::ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"})(x::Vector{Float64}, θ::Vector{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/constructors/epca4.jl:19 [16] (::ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}})(â::Vector{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:122 [17] finite_difference_gradient!(df::Vector{Float64}, f::ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}}, x::Vector{Float64}, cache::FiniteDiff.GradientCache{Nothing, Nothing, Nothing, Vector{Float64}, Val{:central}(), Float64, Val{true}()}; relstep::Float64, absstep::Float64, dir::Bool) @ FiniteDiff ~/.julia/packages/FiniteDiff/yA5pi/src/gradients.jl:402 [18] finite_difference_gradient! @ ~/.julia/packages/FiniteDiff/yA5pi/src/gradients.jl:356 [inlined] [19] value_and_gradient! @ ~/.julia/packages/DifferentiationInterface/MgcE4/ext/DifferentiationInterfaceFiniteDiffExt/onearg.jl:329 [inlined] [20] (::NLSolversBase.var"#fg!#OnceDifferentiable##1"{ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}}, DifferentiationInterfaceFiniteDiffExt.FiniteDiffGradientPrep{Tuple{ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}}, ADTypes.AutoFiniteDiff{Val{:central}, Val{:central}, Val{:hcentral}, Nothing, Nothing, Bool}, Vector{Float64}, Tuple{}}, FiniteDiff.GradientCache{Nothing, Nothing, Nothing, Vector{Float64}, Val{:central}(), Float64, Val{true}()}, Float64, Float64, Bool}, ADTypes.AutoFiniteDiff{Val{:central}, Val{:central}, Val{:hcentral}, Nothing, Nothing, Bool}})(_g::Vector{Float64}, _x::Vector{Float64}) @ NLSolversBase ~/.julia/packages/NLSolversBase/n7XXO/src/objective_types/oncedifferentiable.jl:53 [21] value_gradient!!(obj::NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, x::Vector{Float64}) @ NLSolversBase ~/.julia/packages/NLSolversBase/n7XXO/src/interface.jl:82 [22] value_gradient!!(bw::Optim.BarrierWrapper{NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, Optim.BoxBarrier{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}}, Float64, Float64, Vector{Float64}}, x::Vector{Float64}) @ Optim ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:86 [23] initial_state(method::Optim.LBFGS{Optim.InverseDiagonal, LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Optim.var"#optimize##0#optimize##1"{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, Optim.Fminbox{Optim.LBFGS{Nothing, LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Returns{Nothing}}, Float64, Optim.var"#Fminbox##0#Fminbox##1"}, Optim.BarrierWrapper{NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, Optim.BoxBarrier{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}}, Float64, Float64, Vector{Float64}}}}, options::Optim.Options{Float64, Nothing}, d::Optim.BarrierWrapper{NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, Optim.BoxBarrier{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}}, Float64, Float64, Vector{Float64}}, initial_x::Vector{Float64}) @ Optim ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/first_order/l_bfgs.jl:168 [24] optimize(df::NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, l::FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, u::FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, initial_x::Vector{Float64}, F::Optim.Fminbox{Optim.LBFGS{Nothing, LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Returns{Nothing}}, Float64, Optim.var"#Fminbox##0#Fminbox##1"}, options::Optim.Options{Float64, Nothing}) @ Optim ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:456 [25] #optimize#48 @ ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:395 [inlined] ┌[26] optimize │ @ ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:381 [inlined] ╰──── repeated 3 times [29] optimize @ ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:296 [inlined] [30] _optimize(f::ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}}, lower::Nothing, upper::Float64, x0::SubArray{Float64, 1, Matrix{Float64}, Tuple{Int64, Base.Slice{Base.OneTo{Int64}}}, true}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:91 [31] _single_compress_iter(L::ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, V::Matrix{Float64}, A::Matrix{Float64}, X::Matrix{Float64}, verbose::Bool, i::Int64, steps_per_print::Int64, maxiter::Int64, options::Options{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:121 [32] _single_fit_iter(L::ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, V::Matrix{Float64}, A::Matrix{Float64}, X::Matrix{Float64}, verbose::Bool, i::Int64, steps_per_print::Int64, maxiter::Int64, options::Options{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:164 [33] _fit(L::ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, V::Matrix{Float64}, A::Matrix{Float64}, X::Matrix{Float64}, maxiter::Int64, verbose::Bool, steps_per_print::Int64, options::Options{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:245 [34] fit!(epca::ExpFamilyPCA.EPCA4{ExpFamilyPCA.var"#Bg#31", ExpFamilyPCA.var"#g#32", Matrix{Float64}, Options{Float64}}, X::Matrix{Float64}; maxiter::Int64, verbose::Bool, steps_per_print::Int64) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/epca.jl:119 [35] fit!(epca::ExpFamilyPCA.EPCA4{ExpFamilyPCA.var"#Bg#31", ExpFamilyPCA.var"#g#32", Matrix{Float64}, Options{Float64}}, X::Matrix{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/epca.jl:109 [36] top-level scope @ ~/.julia/packages/ExpFamilyPCA/w6PkA/test/family/test_gamma.jl:2 [37] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2243 [inlined] [38] macro expansion @ ~/.julia/packages/ExpFamilyPCA/w6PkA/test/family/test_gamma.jl:8 [inlined] [39] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [40] top-level scope @ ~/.julia/packages/ExpFamilyPCA/w6PkA/test/runtests.jl:14 [41] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2243 [inlined] [42] macro expansion @ ~/.julia/packages/ExpFamilyPCA/w6PkA/test/runtests.jl:17 [inlined] [43] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [44] top-level scope @ none:6 [45] eval(m::Module, e::Any) @ Core ./boot.jl:489 [46] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [47] _start() @ Base ./client.jl:585 ItakuraSaito: Error During Test at /home/pkgeval/.julia/packages/ExpFamilyPCA/w6PkA/test/family/test_gamma.jl:18 Got exception outside of a @test DomainError with -869.9400649486282: log was called with a negative real argument but will only return a complex result if called with a complex argument. Try log(Complex(x)). DomainError detected in the user `f` function. This occurs when the domain of a function is violated. For example, `log(-1.0)` is undefined because `log` of a real number is defined to only output real numbers, but `log` of a negative number is complex valued and therefore Julia throws a DomainError by default. Cases to be aware of include: * `log(x)`, `sqrt(x)`, `cbrt(x)`, etc. where `x<0` * `x^y` for `x<0` floating point `y` (example: `(-1.0)^(1/2) == im`) Within the context of SciML, this error can occur within the solver process even if the domain constraint would not be violated in the solution due to adaptivity. For example, an ODE solver or optimization routine may check a step at `new_u` which violates the domain constraint, and if violated reject the step and use a smaller `dt`. However, the throwing of this error will have halted the solving process. Thus the recommended fix is to replace this function with the equivalent ones from NaNMath.jl (https://github.com/JuliaMath/NaNMath.jl) which returns a NaN instead of an error. The solver will then effectively use the NaN within the error control routines to reject the out of bounds step. Additionally, one could perform a domain transformation on the variables so that such an issue does not occur in the definition of `f`. For more information, check out the following FAQ page: Stacktrace: [1] throw_complex_domainerror(f::Symbol, x::Float64) @ Base.Math ./math.jl:33 [2] _log @ ./special/log.jl:295 [inlined] [3] log(x::Float64) @ Base.Math ./special/log.jl:261 [4] Bg @ ~/.julia/packages/ExpFamilyPCA/w6PkA/src/family/gamma.jl:30 [inlined] [5] _broadcast_getindex_evalf @ ./broadcast.jl:698 [inlined] [6] _broadcast_getindex @ ./broadcast.jl:671 [inlined] [7] _getindex @ ./broadcast.jl:619 [inlined] [8] getindex @ ./broadcast.jl:615 [inlined] [9] macro expansion @ ./broadcast.jl:994 [inlined] [10] macro expansion @ ./simdloop.jl:77 [inlined] [11] copyto! @ ./broadcast.jl:993 [inlined] [12] copyto! @ ./broadcast.jl:946 [inlined] [13] copy @ ./broadcast.jl:918 [inlined] [14] materialize @ ./broadcast.jl:893 [inlined] [15] (::ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"})(x::Vector{Float64}, θ::Vector{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/constructors/epca4.jl:19 [16] (::ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}})(â::Vector{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:122 [17] finite_difference_gradient!(df::Vector{Float64}, f::ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}}, x::Vector{Float64}, cache::FiniteDiff.GradientCache{Nothing, Nothing, Nothing, Vector{Float64}, Val{:central}(), Float64, Val{true}()}; relstep::Float64, absstep::Float64, dir::Bool) @ FiniteDiff ~/.julia/packages/FiniteDiff/yA5pi/src/gradients.jl:402 [18] finite_difference_gradient! @ ~/.julia/packages/FiniteDiff/yA5pi/src/gradients.jl:356 [inlined] [19] value_and_gradient! @ ~/.julia/packages/DifferentiationInterface/MgcE4/ext/DifferentiationInterfaceFiniteDiffExt/onearg.jl:329 [inlined] [20] (::NLSolversBase.var"#fg!#OnceDifferentiable##1"{ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}}, DifferentiationInterfaceFiniteDiffExt.FiniteDiffGradientPrep{Tuple{ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}}, ADTypes.AutoFiniteDiff{Val{:central}, Val{:central}, Val{:hcentral}, Nothing, Nothing, Bool}, Vector{Float64}, Tuple{}}, FiniteDiff.GradientCache{Nothing, Nothing, Nothing, Vector{Float64}, Val{:central}(), Float64, Val{true}()}, Float64, Float64, Bool}, ADTypes.AutoFiniteDiff{Val{:central}, Val{:central}, Val{:hcentral}, Nothing, Nothing, Bool}})(_g::Vector{Float64}, _x::Vector{Float64}) @ NLSolversBase ~/.julia/packages/NLSolversBase/n7XXO/src/objective_types/oncedifferentiable.jl:53 [21] value_gradient!!(obj::NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, x::Vector{Float64}) @ NLSolversBase ~/.julia/packages/NLSolversBase/n7XXO/src/interface.jl:82 [22] value_gradient!!(bw::Optim.BarrierWrapper{NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, Optim.BoxBarrier{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}}, Float64, Float64, Vector{Float64}}, x::Vector{Float64}) @ Optim ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:86 [23] initial_state(method::Optim.LBFGS{Optim.InverseDiagonal, LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Optim.var"#optimize##0#optimize##1"{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, Optim.Fminbox{Optim.LBFGS{Nothing, LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Returns{Nothing}}, Float64, Optim.var"#Fminbox##0#Fminbox##1"}, Optim.BarrierWrapper{NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, Optim.BoxBarrier{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}}, Float64, Float64, Vector{Float64}}}}, options::Optim.Options{Float64, Nothing}, d::Optim.BarrierWrapper{NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, Optim.BoxBarrier{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}}, Float64, Float64, Vector{Float64}}, initial_x::Vector{Float64}) @ Optim ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/first_order/l_bfgs.jl:168 [24] optimize(df::NLSolversBase.OnceDifferentiable{Float64, Vector{Float64}, Vector{Float64}}, l::FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, u::FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, initial_x::Vector{Float64}, F::Optim.Fminbox{Optim.LBFGS{Nothing, LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Returns{Nothing}}, Float64, Optim.var"#Fminbox##0#Fminbox##1"}, options::Optim.Options{Float64, Nothing}) @ Optim ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:456 [25] #optimize#48 @ ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:395 [inlined] ┌[26] optimize │ @ ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:381 [inlined] ╰──── repeated 3 times [29] optimize @ ~/.julia/packages/Optim/gmigl/src/multivariate/solvers/constrained/fminbox.jl:296 [inlined] [30] _optimize(f::ExpFamilyPCA.var"#_single_compress_iter##0#_single_compress_iter##1"{ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, Matrix{Float64}, Vector{Float64}}, lower::Nothing, upper::Float64, x0::SubArray{Float64, 1, Matrix{Float64}, Tuple{Int64, Base.Slice{Base.OneTo{Int64}}}, true}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:91 [31] _single_compress_iter(L::ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, V::Matrix{Float64}, A::Matrix{Float64}, X::Matrix{Float64}, verbose::Bool, i::Int64, steps_per_print::Int64, maxiter::Int64, options::Options{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:121 [32] _single_fit_iter(L::ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, V::Matrix{Float64}, A::Matrix{Float64}, X::Matrix{Float64}, verbose::Bool, i::Int64, steps_per_print::Int64, maxiter::Int64, options::Options{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:164 [33] _fit(L::ExpFamilyPCA.var"#L#_make_loss##3"{Float64, Float64, ExpFamilyPCA.var"#Bg#31"}, V::Matrix{Float64}, A::Matrix{Float64}, X::Matrix{Float64}, maxiter::Int64, verbose::Bool, steps_per_print::Int64, options::Options{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/utils.jl:245 [34] fit!(epca::ExpFamilyPCA.EPCA4{ExpFamilyPCA.var"#Bg#31", ExpFamilyPCA.var"#g#32", Matrix{Float64}, Options{Float64}}, X::Matrix{Float64}; maxiter::Int64, verbose::Bool, steps_per_print::Int64) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/epca.jl:119 [35] fit!(epca::ExpFamilyPCA.EPCA4{ExpFamilyPCA.var"#Bg#31", ExpFamilyPCA.var"#g#32", Matrix{Float64}, Options{Float64}}, X::Matrix{Float64}) @ ExpFamilyPCA ~/.julia/packages/ExpFamilyPCA/w6PkA/src/epca.jl:109 [36] top-level scope @ ~/.julia/packages/ExpFamilyPCA/w6PkA/test/family/test_gamma.jl:19 [37] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2243 [inlined] [38] macro expansion @ ~/.julia/packages/ExpFamilyPCA/w6PkA/test/family/test_gamma.jl:25 [inlined] [39] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [40] top-level scope @ ~/.julia/packages/ExpFamilyPCA/w6PkA/test/runtests.jl:14 [41] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2243 [inlined] [42] macro expansion @ ~/.julia/packages/ExpFamilyPCA/w6PkA/test/runtests.jl:17 [inlined] [43] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [44] top-level scope @ none:6 [45] eval(m::Module, e::Any) @ Core ./boot.jl:489 [46] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [47] _start() @ Base ./client.jl:585 Test Summary: | Pass Error Total Time ExpFamilyPCA.jl | 456 2 458 5m11.4s Poisson | 92 92 1m23.6s Gaussian | 92 92 37.3s Bernoulli | 12 12 4.4s Gamma | 1 1 9.6s ItakuraSaito | 1 1 0.2s Binomial | 12 12 4.2s Continuous Bernoulli | 12 12 4.2s Negative Binomial | 12 12 4.7s Pareto | 12 12 6.7s Weibull | 12 12 4.6s Misc Options Tests | 196 196 52.5s Positive Domain | 1 1 1m34.5s Negative Domain | 3 3 4.8s RNG of the outermost testset: Xoshiro(0xfff0241072ddab67, 0xc53bc12f4c3f0b4e, 0x56d451780b2dd4ba, 0x50a4aa153d208dd8, 0x3649a58b3b63d5db) ERROR: LoadError: Some tests did not pass: 456 passed, 0 failed, 2 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/ExpFamilyPCA/w6PkA/test/runtests.jl:13 Testing failed after 341.2s ERROR: LoadError: Package ExpFamilyPCA 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:3122 [3] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:2987 [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:223 [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:585 in expression starting at /PkgEval.jl/scripts/evaluate.jl:214 PkgEval failed after 460.36s: package tests unexpectedly errored