-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Current master always re-precompiles REPLExt
when entering pkg>
-mode in a clean environment
#53264
Comments
FWIW, I also got this earlier while building julia locally:
Unsure whether that message is related. |
Things that didn't help:
|
I wonder if it could have to do with how your manifest looked like when you built Julia. Due to #51479 maybe it cached some bad dependency info at build time. |
No, that doesn't seem to be it - neither when nuking |
For the last week at least I have to erase |
┌ Debug: Rejecting cache file /home/mkitti/.julia/compiled/v1.11/REPLExt/m7ggP_iP0Qa.ji because uuid mapping for Base.PkgId(Base.UUID("e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b"), "REPLExt") => Base.PkgId(Base.UUID("d6f4376e-aef5-505a-96c1-9c027394607a"), "Markdown") has changed, The expected is wrong here. It is due to Base.identify_package(
Base.PkgId(Base.UUID("e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b"), "REPLExt"),
"Markdown"
) Lines 3459 to 3464 in a3e0b62
julia> out = open("/home/mkitti/.julia/compiled/v1.11/REPLExt/m7ggP_iP0Qa.ji", "r") do io
checksum = Base.isvalid_cache_header(io)
Base.parse_cache_header(io, "/home/mkitti/.julia/compiled/v1.11/REPLExt/m7ggP_iP0Qa.ji")
end;
julia> requires = out[2][3]
5-element Vector{Pair{Base.PkgId, Base.PkgId}}:
Base.PkgId(Base.UUID("e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b"), "REPLExt") => Base.PkgId(Base.UUID("d6f4376e-aef5-505a-96c1-9c027394607a"), "Markdown")
Base.PkgId(Base.UUID("e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b"), "REPLExt") => Base.PkgId(Base.UUID("cf7118a7-6976-5b1a-9a39-7adc72f591a4"), "UUIDs")
Base.PkgId(Base.UUID("e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b"), "REPLExt") => Base.PkgId(Base.UUID("ade2ca70-3891-5945-98fb-dc099432e06a"), "Dates")
Base.PkgId(Base.UUID("e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b"), "REPLExt") => Base.PkgId(Base.UUID("3fa0cd96-eef1-5676-8a61-b3b8758bbffb"), "REPL")
Base.PkgId(Base.UUID("e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b"), "REPLExt") => Base.PkgId(Base.UUID("44cfe95a-1eb2-52ea-b672-e2afdf69b78f"), "Pkg")
julia> Base.identify_package(requires[1][1], requires[1][2].name)
julia> Base.identify_package(requires[1][1], requires[1][2].name) |> isnothing
true
julia> Base.identify_package(requires[2][1], requires[2][2].name) |> isnothing
true
julia> Base.identify_package(requires[3][1], requires[3][2].name) |> isnothing
true
julia> Base.identify_package(requires[4][1], requires[4][2].name) |> isnothing
true
julia> Base.identify_package(requires[5][1], requires[5][2].name) |> isnothing
true |
My current thinking is that Lines 316 to 318 in 4be67e4
function identify_package_env(where::PkgId, name::String)
cache = LOADING_CACHE[]
if haskey(EXT_PRIMED, where)
where = EXT_PRIMED[where]
end
if cache !== nothing
# ... |
The issue is that julia> REPLExt = Base.PkgId(Base.UUID("e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b"), "REPLExt")
REPLExt [e5eb5ef1-03cf-53a7-ae1d-5a66b08e832b]
julia> Base.implicit_manifest_deps_get(Base.load_path()[2], REPLExt, "Markdown")
julia> Base.implicit_manifest_deps_get(Base.load_path()[2], REPLExt, "REPL")
|
Minimum Demo
User Workaround
This creates an entry for
Potential Solutions
|
If there is some corner case with implicit environments and extensions it shouldn't require much to fix that. I thought #52428 would already have handled this. I mean, Statistics have had an extension on SparseArrays.jl for quite a while so it isn't like this is something new. |
I don't think we ship a precompiled copy of that cache-file though in contrast to the REPLExt. |
We appear to also have the same issue with
|
…3314) Alternative to #53293 This does kind of the same thing but it does not rely on `EXT_PRIMED` to identify extensions which I think is a better idea since we don't really want code lookup to depend on the state of Julia itself imo. Fixes #53264 ----------------------- Co-authored by: Mark Kittisopikul <`[email protected]`>
Steps:
95233619745ef84c96af82299b162aa008a7debd
)rm
your default environment completelyjulia -q
)pkg>
modeLog from my machine with `JULIA_DEBUG=loading`
The text was updated successfully, but these errors were encountered: