Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Julia v1.11.2 pre-release: Package extension loading issue #56656

Open
mtfishman opened this issue Nov 22, 2024 · 2 comments · Fixed by #56658
Open

Julia v1.11.2 pre-release: Package extension loading issue #56656

mtfishman opened this issue Nov 22, 2024 · 2 comments · Fixed by #56658
Labels
package extensions packages Package management and loading regression 1.11 Regression in the 1.11 release

Comments

@mtfishman
Copy link
Contributor

mtfishman commented Nov 22, 2024

There appears to be an issue loading the LazyArraysBlockArraysExt package extension defined in LazyArrays.jl in Julia v1.11.1 and the v1.11.2 pre-release, which doesn't appear in Julia v1.11.0 or Julia nightly.

Under certain conditions, when LazyArraysBlockArraysExt is being loaded in Julia v1.11.1 and the v1.11.2 pre-release, it fails with the error:

ERROR: LoadError: ArgumentError: Package LazyArraysBlockArraysExt does not have BlockArrays in its dependencies

as demonstrated in the CI logs of this PR: JuliaArrays/BlockArrays.jl#433.

I say "under certain conditions" because I'm only able to see the issue when it is run in Github Actions with the workflow defined in the BlockArrays repository, I haven't been able reproduce the issue locally (it must be related to the particular combination of packages that are loaded in the workflow). It might be related to #56426, #56204, #55939, but I'm raising a new issue since it isn't obvious to me if it is a new issue or a repeat of one of those. It looks most similar to #55939, however I removed BlockArrays from the dependency list of LazyArrays here: JuliaArrays/LazyArrays.jl#347 and even after that the issue still shows up. We were hoping that #56228 would fix this issue but it doesn't seem like it has, since we tried testing against 1.11-nightly in the workflow and see the same failure that we get when testing against 1.11.1 (but when we test against 1.11.0 or nightly the issue doesn't appear).

@IanButterworth IanButterworth added the regression 1.11 Regression in the 1.11 release label Nov 22, 2024
@topolarity
Copy link
Member

topolarity commented Nov 22, 2024

I think the fix that's missing here is to backport this revert: #56234 (specifically this commit: ad1dc39)

@giordano giordano added packages Package management and loading package extensions labels Nov 22, 2024
@topolarity
Copy link
Member

I was able to reproduce this locally by doing:

$ cd /path/to/BlockArrays.jl
$ rm -rf downstream depot
$ git clone https://github.com/JuliaArrays/LazyArrays.jl downstream
$ JULIA_DEPOT_PATH="$(pwd)/depot:" julia +pr56228 -q --project=downstream
julia> using Pkg

julia> Pkg.develop(PackageSpec(path="."))  # resolver may fail with main deps
   Resolving package versions...
    Updating `~/repos/BlockArrays.jl/downstream/Project.toml`
  [4c555306] + ArrayLayouts v1.10.4
  [8e7c35d0] + BlockArrays v1.2.0 `..`
  [1a297f60] + FillArrays v1.13.0
  [1914dd2f] + MacroTools v0.5.13
  [37e2e46d] ~ LinearAlgebra  v1.11.0
  [2f01184e] ~ SparseArrays  v1.11.0
    Updating `~/repos/BlockArrays.jl/downstream/Manifest.toml`
# ...

julia> Pkg.test() # triggers a failing pre-compile (Pkg.precompile is fine, for some reason)

I'm not 100% sure since repro was a little spotty, but it seems like #56658 indeed resolves the problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package extensions packages Package management and loading regression 1.11 Regression in the 1.11 release
Projects
None yet
4 participants