Anybody with a Mac who could help debugging CI failures?

We have an issue with CI failures on macOS with PackageCompiler.jl. This is actually an issue that dates back from last year.

Could someone who has access to a Mac have a look: Fix CI failures on macOS · Issue #955 · JuliaLang/PackageCompiler.jl · GitHub ?

On Ubuntu 22.04 with Julia 1.10 the tests pass:

Test Summary:      | Pass  Total      Time
PackageCompiler.jl |   85     85  12m43.8s
     Testing PackageCompiler tests passed 

Do they pass:

  • on a Mac with ARM processor
  • on a Mac with X86 processor

?

I have an Mac Ultra

julia> versioninfo()
Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: macOS (arm64-apple-darwin22.4.0)
  CPU: 24 × Apple M2 Ultra
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, apple-m1)
Threads: 1 default, 0 interactive, 1 GC (on 16 virtual cores)

I did

(@v1.10) pkg> add PackageCompiler
(@v1.10) pkg> test PackageCompiler

Result (PackageCompiler v2.1.17)

Test Summary:           | Error  Total     Time
PackageCompiler.jl      |     5      5  5m58.6s
  create_sysimage       |     1      1    31.1s
  create_app            |     3      3  4m09.0s
    incremental = true  |     1      1    10.7s
      filter = false    |     1      1    10.7s
    incremental = false |     2      2  3m58.3s
      filter = true     |     1      1  1m59.7s
      filter = false    |     1      1  1m58.6s

Does that help?

On an Intel Mac under Monterey

Test Summary:      | Pass  Total      Time
PackageCompiler.jl |   85     85  47m53.4s
     Testing PackageCompiler tests passed
julia> versioninfo()
Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: macOS (x86_64-apple-darwin22.4.0)
  CPU: 4 × Intel(R) Core(TM) i5-5575R CPU @ 2.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, broadwell)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)
Environment:
  JULIA_EDITOR = code
  JULIA_NUM_THREADS =
(@v1.10) pkg> st
Status `~/.julia/environments/v1.10/Project.toml`
  [9b87118b] PackageCompiler v2.1.17
⌃ [91a5bcdd] Plots v1.40.4
⌃ [295af30f] Revise v3.5.14
Info Packages marked with ⌃ have new versions available and may be upgradable.

If possible, it might be helpful to post the full output of Pkg.test(). You can put it in a collapsible Markdown section.

So the tests indeed fail. But now it would be important to know exactly which tests fail. And perhaps put the first test that fails in a separate, small script, and then get and share the full error message.

     Testing Running tests...
  Installing known registries into `/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_nHjCP8`
    Updating registry at `/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_nHjCP8/registries/General.toml`
   Resolving package versions...
   Installed Example ─ v0.5.3
    Updating `/private/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_9ryC3x/Project.toml`
  [7876af07] + Example v0.5.3
    Updating `/private/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_9ryC3x/Manifest.toml`
  [7876af07] + Example v0.5.3
Precompiling project...
  1 dependency successfully precompiled in 1 seconds
┌ Debug: instantiating project at "/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_9ryC3x"
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/nT5sD/src/PackageCompiler.jl:570
┌ Debug: ensurecompiled: running `/Users/pkrysl/julia-1.10.4/bin/julia --color=yes --startup-file=no --pkgimages=no --sysimage=/Users/pkrysl/julia-1.10.4/lib/julia/sys.dylib -e 'using Pkg; Pkg.precompile()'`
│   JULIA_LOAD_PATH = "/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_9ryC3x:@stdlib"
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/nT5sD/src/PackageCompiler.jl:290
Precompiling project...
  1 dependency successfully precompiled in 1 seconds
┌ Debug: running precompilation execution script...
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/nT5sD/src/PackageCompiler.jl:341
┌ Debug: run_precompilation_script: running `/Users/pkrysl/julia-1.10.4/bin/julia --color=yes --startup-file=no --pkgimages=no --sysimage=/Users/pkrysl/julia-1.10.4/lib/julia/sys.dylib --compile=all --trace-compile=/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_packagecompiler_aHT31M/jl_lw0q26 /Users/pkrysl/.julia/packages/PackageCompiler/nT5sD/test/precompile_execution.jl`
│   JULIA_LOAD_PATH = "/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_9ryC3x:@stdlib"
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/nT5sD/src/PackageCompiler.jl:303
[ Info: PackageCompiler: Executing /Users/pkrysl/.julia/packages/PackageCompiler/nT5sD/test/precompile_execution.jl => /var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_packagecompiler_aHT31M/jl_lw0q26
[ Info: PackageCompiler: Done
┌ Debug: writing precompile staging code to /var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_XWdgrG7WTW
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/nT5sD/src/PackageCompiler.jl:458
┌ Debug: running `/Users/pkrysl/julia-1.10.4/bin/julia --color=yes --startup-file=no --pkgimages=no --cpu-target=native -O1 --sysimage=/Users/pkrysl/julia-1.10.4/lib/julia/sys.dylib --project=/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_9ryC3x --output-o=/var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_xSPwdAf8ha.o /var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_XWdgrG7WTW`
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/nT5sD/src/PackageCompiler.jl:465
✔ [00m:21s] PackageCompiler: compiling incremental system image
┌ Debug: running `g++ -march=armv8-a+crypto+simd -shared -L/Users/pkrysl/julia-1.10.4/lib -L/Users/pkrysl/julia-1.10.4/lib/julia -o /var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_70vUHP/sys.dylib -Wl,-all_load /var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_xSPwdAf8ha.o -ljulia -ljulia-internal -fPIC -Wl,-rpath,@executable_path -Wl,-rpath,@executable_path/julia`
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/nT5sD/src/PackageCompiler.jl:199
┌ Debug: running `install_name_tool -id @rpath/sys.dylib sys.dylib`
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/nT5sD/src/PackageCompiler.jl:670
ERROR: System image file failed consistency check: maybe opened the wrong version?
create_sysimage: Error During Test at /Users/pkrysl/.julia/packages/PackageCompiler/nT5sD/test/runtests.jl:37
  Got exception outside of a @test
  failed process: Process(`/Users/pkrysl/julia-1.10.4/bin/julia -C native -J/Users/pkrysl/julia-1.10.4/lib/julia/sys.dylib --depwarn=yes --check-bounds=yes -g1 --color=yes --startup-file=no -J /var/folders/c9/p2llxmtj2cn82kp_6f75_gqr0000gn/T/jl_70vUHP/sys.dylib -e 'println(Example.hello("foo")); script_func(); print_opt()'`, ProcessExited(1)) [1]

  Stacktrace:
    [1] pipeline_error
      @ ./process.jl:565 [inlined]
    [2] read(cmd::Cmd)
      @ Base ./process.jl:449
    [3] read(cmd::Cmd, ::Type{String})
      @ Base ./process.jl:458
    [4] macro expansion
      @ ~/.julia/packages/PackageCompiler/nT5sD/test/runtests.jl:64 [inlined]
    [5] macro expansion
      @ ~/julia-1.10.4/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
    [6] macro expansion
      @ ~/.julia/packages/PackageCompiler/nT5sD/test/runtests.jl:38 [inlined]
    [7] macro expansion
      @ ~/julia-1.10.4/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
    [8] top-level scope
      @ ~/.julia/packages/PackageCompiler/nT5sD/test/runtests.jl:37
    [9] include(fname::String)
      @ Base.MainInclude ./client.jl:489
   [10] top-level scope
      @ none:6
   [11] eval
      @ ./boot.jl:385 [inlined]
   [12] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:291
   [13] _start()
      @ Base ./client.jl:552

This is already a useful error message for further investigations. Thank you!

No problem. Let me know what you need. I could also enable access for you on that system…

And now on Mac Mini M1 (full output too large for one post)

Test Summary:           | Error  Total     Time
PackageCompiler.jl      |     5      5  8m18.3s
  create_sysimage       |     1      1  1m01.2s
  create_app            |     3      3  5m28.7s
    incremental = true  |     1      1     9.1s
      filter = false    |     1      1     9.1s
    incremental = false |     2      2  5m19.6s
      filter = true     |     1      1  2m37.7s
      filter = false    |     1      1  2m41.9s
ERROR: LoadError: Some tests did not pass: 0 passed, 0 failed, 5 errored, 0 broken.
in expression starting at /Users/elk/.julia/packages/PackageCompiler/nT5sD/test/runtests.jl:36
ERROR: Package PackageCompiler errored during testing
1 Like