Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork5.7k
Backports for 1.12.2#59920
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Backports for 1.12.2#59920
Uh oh!
There was an error while loading.Please reload this page.
Conversation
ViralBShah commentedOct 21, 2025
Hopefully the linalg bump can make it in:#59927 |
KSepetanc commentedOct 23, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
PR#59736 is marked here as needs manual backport, but has been marked as backported in 1.12.1. Why? |
KristofferC commentedOct 23, 2025
I guess I forgot to remove the label |
KristofferC commentedOct 24, 2025
Please cherry pick with |
vtjnash commentedOct 24, 2025
I don't know who that is directed at, but note that#59921 is not a backport, but a v1.12-only bug |
(cherry picked from commita0a65e6)
…59878)Noticed during bug hunting ofericphanson/LicenseCheck.jl#11 (comment)and may cause performance degradation for interpreter-executed tryblocks or scope entry.Co-authored-by: Dilum Aluthge <dilum@aluthge.com>(cherry picked from commitc1353ac)
(cherry picked from commit78ba3be)
This prevents a bunch of invalidations, specifically these ones in Julia1.12 with UnsafePointers.jl (CC@cjdoris):```julia inserting convert(P::Type{<:Ptr}, p::UnsafePointers.UnsafePtr) @ UnsafePointers ~/git/UnsafePointers.jl/src/UnsafePointers.jl:66 invalidated: mt_backedges: 1: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_npointers(::Type{T} where T<:(NamedTuple{names, T} where {T<:Tuple, names})) (4 children) 2: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_npointers(::Type{T} where T<:AbstractString) (4 children) 3: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_npointers(::Type{T} where T<:Tuple{Symbol, Any}) (4 children) 4: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_npointers(::Type{T} where T<:(NamedTuple{(:message, :position, :hint), _A} where _A)) (4 children) 5: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_npointers(::Type{T} where T<:(SubString{_A} where _A)) (4 children) 6: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_alignment(::Type{T} where T<:(NamedTuple{(:message, :position, :hint), _A} where _A)) (15 children) 7: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_alignment(::Type{T} where T<:(SubString{_A} where _A)) (19 children) 8: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_alignment(::Type{T} where T<:Tuple{Any, Symbol, Symbol}) (21 children) 9: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_alignment(::Type{T} where T<:Tuple{Symbol, Any}) (23 children) 10: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_alignment(::Type{T} where T<:AbstractString) (52 children) 11: signature Tuple{typeof(convert), Type{Ptr{Base.DataTypeLayout}}, Any} triggered MethodInstance for Base.datatype_alignment(::Type{T} where T<:(NamedTuple{names, T} where {T<:Tuple, names})) (1739 children)```Using Cthulhu to look at the last invalidation with 1739 children showedthis:```juliadatatype_alignment(dt::DataType) @ Base ~/.julia/juliaup/julia-1.12.1+0.x64.linux.gnu/share/julia/base/runtime_internals.jl:544544 function datatype_alignment(dt::Type{T} where T<:(NamedTuple{names, T} where {T<:Tuple, names})::DataType)::Any545 @_foldable_meta546 (dt::Type{T} where T<:(NamedTuple{names, T} where {T<:Tuple, names}).layout::Any == C_NULL::Core.Const(Ptr{Nothing}(0x0000000000000000)))::Any && throw(UndefRefError()::Core.Const(UndefRefError()))547 alignment::Any = unsafe_load(convert(Ptr{DataTypeLayout}::Type{Ptr{Base.DataTypeLayout}}, dt::Type{T} where T<:(NamedTuple{names, T} where {T<:Tuple, names}).layout::Any)::Any)::Any.alignment::Any548 return Int::Type{Int64}(alignment::Any)::Any549 end```The `.layout` field was getting inferred as `Any` which caused thatmethod to be invalidated when UnsafePointers.jl defined a new`convert()` method.Would it be possible to backport this to 1.12? UnsafePointers is adependency of PythonCall so it's quite widely used.---------Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com>(cherry picked from commit90f4289)
This change is not necessary for `NativeInterpreter` at all, but isparticularly useful for JET. For error reporting, which is the purposeof `JETAnalyzer`, it is desirable to present error causes in auser-understandable form even when concrete evaluation presents errors.This requires analysis using regular abstract interpretation (constantpropagation) in general. However, to reduce false positives, theprecision that concrete evaluation brings is very important, andcompletely disabling concrete evaluation is not desirable either.Currently, `JETAnalyzer` aims to avoid this tradeoff by limitingconcrete evaluation to only some functions, but this approach does notscale and occasionally causes problems like#59884.This commit enables ad-hoc cancellation of concrete evaluation based onthe result of `concrete_eval_call`, allowing `JETAnalyzer` to fallbackto abstract interpretation only when concrete evaluation causes errors,fundamentally avoiding such problems.(cherry picked from commitc6091de)
…iew` (#59915)When packages using non-Base compilers call `Base._which`, a methoderror occurs due to module context mismatch. Like other reflectionfunctions, the module context of `mt::Compiler.MethodTableView` needs tobe properly determined.
#59927)Stdlib: LinearAlgebraURL:https://github.com/JuliaLang/LinearAlgebra.jl.gitStdlib branch: release-1.12Julia branch: backports-release-1.12Old commit: 24f5e21New commit: 5567504Julia version: 1.12.1LinearAlgebra version: 1.12.0(Does not match)Bump invoked by:@ViralBShahPowered by:[BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl)Diff:JuliaLang/LinearAlgebra.jl@24f5e21...5567504```$ git log --oneline 24f5e21..55675045567504 Backports to v1.12 (#1472)a2a4981 Overload array constructors for BunchKaufman (#1461) (#1466)1ebc0cb Generic fallback for `fillstored!` (#1389)```Co-authored-by: ViralBShah <744411+ViralBShah@users.noreply.github.com>
…all_name` (#59921)This prevents invalidations of `isready()` from loading Distributed on1.12:```julia inserting isready(pool::Distributed.WorkerPool) @ Distributed ~/.julia/juliaup/julia-1.12.1+0.x64.linux.gnu/share/julia/stdlib/v1.12/Distributed/src/workerpool.jl:168 invalidated: mt_backedges: 1: signature Tuple{typeof(isready), Any} triggered MethodInstance for (::Compiler.var"#evalargs#abstract_eval_nonlinearized_foreigncall_name##0"{Expr, Compiler.StatementState, Compiler.Future{Compiler.CallMeta}, Vector{Any}, Int64})(::Compiler.AbstractInterpreter, ::Compiler.InferenceState) (0 children) 2: signature Tuple{typeof(isready), Any} triggered MethodInstance for (::Compiler.var"#evalargs#abstract_eval_nonlinearized_foreigncall_name##0"{Expr, Compiler.StatementState, Compiler.Future{Compiler.CallMeta}, Vector{Any}, Int64})(::Compiler.NativeInterpreter, ::Compiler.InferenceState) (0 children) 3: signature Tuple{typeof(isready), Any} triggered MethodInstance for (::Compiler.var"#evalargs#abstract_eval_nonlinearized_foreigncall_name##0"{Expr, Compiler.StatementState, Compiler.Future{Compiler.CallMeta}, Vector{Any}, Int64})(::Compiler.AbstractInterpreter, ::Compiler.InferenceState) (249 children)```I think ideally it wouldn't use a closure at all, but I'm not familiarenough with the code to refactor it that much. I'm making the PR againstthe `release-1.12` branch because this function is deleted entirely onmaster by#59165.
Renaming happened inf9b7d27 / PR#59158 by@JeffBezanson
8d0ca62 tod0161e4Comparefix a bug in which parsing the digits after the decimal point of a(date-)time like "00:00:00.12" were interpreted as "12 milliseconds"instead of "0.12 seconds". Now, the fractional part is correctly parsedas a fraction of a second, then correctly converted to milliseconds. Asbefore, only the first three digits after the decimal point areconsidered.Closes#59997---With a local build of this PR, the example from the above issue nowevaluates to:```juliajulia> t2 = TOML.parse("""time = 00:00:00.2""")Dict{String, Any} with 1 entry: "time" => 00:00:00.2julia> millisecond(t2["time"])200```(cherry picked from commit906d64e)
When encountering complicated cycles within cycles, make sure to revisitall applicable methods explicitly, since not all methods within thecycle will necessarily change return type after resolving the cycle.This shows up as the possibility of frames that don't get revisitedbefore being cached, probably just caching `Union{}` as the call typeinstead. I always assumed this code was probably wrong, but didn't haveany way to construct the counter-example to have confidence that fixingit would not cause some other side-effect. But still keep the backedgework lazy, since we don't want to allocate unnecessarily for a rarelyused feature (recursion).Fix#59943(cherry picked from commitf4847bf)(cherry picked from commita933cf4)
(cherry picked from commit6f2f7f5)
When errors occur, `waitall` may skip allocating Channel producers,leading to deadlock in the subsequent loop in the event that the userasked it to failfast (ironically). This is seen often in the failing ofthe threads_exec test ever since the test was added for this call.Simplify this to just use separate loops for the wait and the returncomputation.(cherry picked from commite2f3178)
fe7f9d4 toc53224fCompareKristofferC commentedNov 8, 2025
on CI. Due to 7z bump? But why... https://github.com/JuliaLang/Pkg.jl/blob/499e7d35565c0c8582d0d7b56bfe2109dcbac4c0/src/PlatformEngines.jl#L19-L21 should work. Any idea@nhz2? |
nhz2 commentedNov 8, 2025
Why is the |
KristofferC commentedNov 8, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
KristofferC commentedNov 8, 2025
It might be conflicting with671cd64#diff-25078ad6c1e38d5b2a1a23baabf2e032f1f16d995cbdf47e95e2100e1d7786eb maybe. |
nhz2 commentedNov 8, 2025
Also, will the new CSL dep break existing Manifests for 1.12? |
(cherry picked from commitfda084f)
In Markdown, links are written as `[desc](URL)`, and nospace is allowed between `]` and `(`. However, Julia'sMarkdown parser explicitly accepted it (not clear why).This may break links in a few package manuals, but the fixwill be easy in each case (just remove the extra spaces).But being more consistent with most (all??) other Markdownimplementations seems more important to me; it is verysurprising when one copies basic Markdown that works fineelsewhere into a Julia package manual and it suddenly istreated completely differently.ResolvesJuliaDocs/Documenter.jl#2681(cherry picked from commitfe30573)
332e443 toa81d1ecCompareKristofferC commentedNov 8, 2025
I tried with some help from Claude with87f5619 but didn't seem to help. |
Uh oh!
There was an error while loading.Please reload this page.
KristofferC commentedNov 9, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Ah, it is not there. If I download the build artifact: no 7z... I backported some more from#58344, we'll see how that goes. I built the binary dist locally and it seems to be in there now at least. |
a81d1ec to2c8b3b5CompareKristofferC commentedNov 9, 2025
Tangentially, the new 7-zip seems about 2x as fast as the old one, but still has nothing on zstd (timings for uncompressing the registry in gz and zstd format below) |
Bring over the p7zip_jll handling improvements from f03e9c3 ([deps] enable zstd support):- Move p7zip binary from bindir to private_libexecdir- Add Windows DLL handling for binary builder installs- Simplify p7zip_jll.jl by removing LIBPATH handling- Add P7ZIP_BUILD_OPTS variable for consistent build flagsThese changes prepare for the p7zip 17.7.0 upgrade and ensure p7zipis installed in the correct location.🤖 Generated with [Claude Code](https://claude.com/claude-code)Co-Authored-By: Claude <noreply@anthropic.com>
2c8b3b5 tod9323c0CompareKristofferC commentedNov 9, 2025
@nanosoldier |
nanosoldier commentedNov 11, 2025
The package evaluation jobyou requested has completed - possible new issues were detected. Report summary❗ Packages that crashed2 packages crashed only on the current version.
46 packages crashed on the previous version too. ✖ Packages that failed45 packages failed only on the current version.
3472 packages failed on the previous version too. ✔ Packages that passed tests36 packages passed tests only on the current version.
6145 packages passed tests on the previous version too. ➖ Packages that were skipped altogether6 packages were skipped only on the current version.
1385 packages were skipped on the previous version too. |
KristofferC commentedNov 11, 2025
@nanosoldier |
nanosoldier commentedNov 12, 2025
The package evaluation jobyou requested has completed - possible new issues were detected. Report summary✖ Packages that failed18 packages failed only on the current version.
7 packages failed on the previous version too. ✔ Packages that passed tests18 packages passed tests on the previous version too. |
KristofferC commentedNov 12, 2025
@nanosoldier JuliaRegistries/General#142382 should have fixed many of these |
nanosoldier commentedNov 12, 2025
The package evaluation jobyou requested has completed - possible new issues were detected. Report summary✖ Packages that failed7 packages failed only on the current version.
✔ Packages that passed tests11 packages passed tests on the previous version too. |
bdc35b2 intorelease-1.12Uh oh!
There was an error while loading.Please reload this page.

Uh oh!
There was an error while loading.Please reload this page.
Backported PRs:
isfinite(::AbstractFloat)#59888DataType.layoutin some Base functions #59886pointerarith_tfuncfor Const ptr #60011Need manual backport:
abstract_eval_nonlinearized_foreigncall_name#59921collect(...)in TOML #59932Contains multiple commits, manual intervention needed:
Non-merged PRs with backport label:
Core._apply_iterate#60062