Skip to content

Regression with --pkgimages=no causing llvmcall to get interpreted #57318

@maleadt

Description

@maleadt

CpuId.jl started failing with the following message:

ReturnTypes: Error During Test at /home/maleadt/.julia/packages/CpuId/n7zKC/test/runtests.jl:4
  Got exception outside of a @test
  `llvmcall` requires the compiler
  Stacktrace:
    [1] cpuid_llvm(leaf::UInt32, subleaf::UInt32)
      @ CpuId.CpuInstructions ~/.julia/packages/CpuId/n7zKC/src/CpuInstructions.jl:57
    [2] cpuid
      @ ~/.julia/packages/CpuId/n7zKC/src/CpuInstructions.jl:41 [inlined]
    [3] cpuid
      @ ~/.julia/packages/CpuId/n7zKC/src/CpuInstructions.jl:40 [inlined]
    [4] hasleaf
      @ ~/.julia/packages/CpuId/n7zKC/src/CpuId.jl:54 [inlined]
    [5] cachesize()
      @ CpuId ~/.julia/packages/CpuId/n7zKC/src/CpuId.jl:731
    [6] cpuinfo()
      @ CpuId ~/.julia/packages/CpuId/n7zKC/src/CpuId.jl:1036
    [7] top-level scope
      @ ~/.julia/packages/CpuId/n7zKC/test/runtests.jl:6
    [8] macro expansion
      @ /tmp/jl_b5f1bF/share/julia/stdlib/v1.12/Test/src/Test.jl:1771 [inlined]
    [9] macro expansion
      @ ~/.julia/packages/CpuId/n7zKC/test/runtests.jl:9 [inlined]
   [10] include(mapexpr::Function, mod::Module, _path::String)
      @ Base ./Base.jl:308
   [11] top-level scope
      @ none:6
   [12] eval(m::Module, e::Any)
      @ Core ./boot.jl:486
   [13] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:295
   [14] _start()
      @ Base ./client.jl:557

This reproduces on master and the 1.12-alpha backports branch when running with --pkgimages=no (via Pkg.test("CpuId"; julia_args=`--pkgimages=no`)). That's relevant, because it is how PkgEval.jl executes tests, so right now a lot of packages don't get appropriate testing because of this issue.

Bisected to #57213; cc @Keno.

Metadata

Metadata

Assignees

Labels

regressionRegression in behavior compared to a previous version

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions