Tracking down a dyld error on apple silicon

Hello Julians,

I am trying to track down a dyld error on Apple Silicon when using the UMAP.jl package. Under rosetta it works perfectly well, but in 1.8.2 (native) I get the following error when add-ing and then test-ing UMAP in a clean environment:


(test) pkg> test UMAP
     Testing UMAP
# ...
     Testing Running tests...
Test Summary: | Pass  Total  Time
utils tests   |    9      9  2.6s
┌ Error: XYAUPD_Exception: IPARAM(7) must be 1,2,3,4.
│   info = -10
└ @ Arpack ~/.julia/packages/Arpack/pLziT/src/libarpack.jl:47
spectral_layout: Error During Test at /Users/cmarcotte/.julia/packages/UMAP/owv5b/test/umap_tests.jl:122
  Got exception outside of a @test
  
  Stacktrace:
    [1] aupd_wrapper(T::Type, matvecA!::Arpack.var"#18#28"{Symmetric{Float64, SparseMatrixCSC{Float64, Int64}}}, matvecB::Arpack.var"#19#29", solveSI::Arpack.var"#21#31", n::Int64, sym::Bool, cmplx::Bool, bmat::String, nev::Int64, ncv::Int32, which::String, tol::Float64, maxiter::Int64, mode::Int64, v0::Vector{Float64}, check::Int64)
      @ Arpack ~/.julia/packages/Arpack/pLziT/src/libarpack.jl:141
    [2] _eigs(A::Symmetric{Float64, SparseMatrixCSC{Float64, Int64}}, B::UniformScaling{Bool}; nev::Int64, ncv::Int64, which::Symbol, tol::Float64, maxiter::Int64, sigma::Nothing, v0::Vector{Float64}, ritzvec::Bool, explicittransform::Symbol, check::Int64)
      @ Arpack ~/.julia/packages/Arpack/pLziT/src/Arpack.jl:243
    [3] #eigs#10
      @ ~/.julia/packages/Arpack/pLziT/src/Arpack.jl:51 [inlined]
    [4] #eigs#9
      @ ~/.julia/packages/Arpack/pLziT/src/Arpack.jl:50 [inlined]
    [5] spectral_layout(graph::SparseMatrixCSC{Float64, Int64}, embed_dim::Int64)
      @ UMAP ~/.julia/packages/UMAP/owv5b/src/embeddings.jl:53
    [6] macro expansion
      @ ~/.julia/packages/UMAP/owv5b/test/umap_tests.jl:125 [inlined]
    [7] macro expansion
      @ /opt/homebrew/Cellar/julia/1.8.2/share/julia/stdlib/v1.8/Test/src/Test.jl:1357 [inlined]
    [8] macro expansion
      @ ~/.julia/packages/UMAP/owv5b/test/umap_tests.jl:123 [inlined]
    [9] macro expansion
      @ /opt/homebrew/Cellar/julia/1.8.2/share/julia/stdlib/v1.8/Test/src/Test.jl:1357 [inlined]
   [10] top-level scope
      @ ~/.julia/packages/UMAP/owv5b/test/umap_tests.jl:4
   [11] include(fname::String)
      @ Base.MainInclude ./client.jl:476
   [12] top-level scope
      @ ~/.julia/packages/UMAP/owv5b/test/runtests.jl:11
   [13] include(fname::String)
      @ Base.MainInclude ./client.jl:476
   [14] top-level scope
      @ none:6
   [15] eval
      @ ./boot.jl:368 [inlined]
   [16] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:276
   [17] _start()
      @ Base ./client.jl:522
dyld[15164]: missing symbol called

signal (6): Abort trap: 6
in expression starting at /Users/cmarcotte/.julia/packages/UMAP/owv5b/test/umap_tests.jl:2

signal (6): Abort trap: 6
in expression starting at /Users/cmarcotte/.julia/packages/UMAP/owv5b/test/umap_tests.jl:2
__psynch_cvwait at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
__psynch_cvwait at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
__psynch_cvwait at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
__ulock_wait at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
Allocations: 81199534 (Pool: 81154034; Big: 45500); GC: 68
ERROR: Package UMAP errored during testing (exit code: 134)

I can tell that the actual issue is in Arpack, but the exit code I get from (test) pkg> test Arpack appears to have been dealt with in the version of Arpack_jll I have installed in the env (3.5.1+1) according to this closed issue. Does anyone have any insight into what the remaining problem might be?