Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Merged
KristofferC merged 26 commits intorelease-1.12frombackports-release-1.12
Nov 13, 2025
Merged

Backports for 1.12.2#59920

KristofferC merged 26 commits intorelease-1.12frombackports-release-1.12
Nov 13, 2025

Conversation

@KristofferC
Copy link
Member

@KristofferCKristofferC commentedOct 21, 2025
edited
Loading

Backported PRs:

Need manual backport:

Contains multiple commits, manual intervention needed:

Non-merged PRs with backport label:

aviatesk reacted with heart emoji
@KristofferCKristofferC added the releaseRelease management and versioning. labelOct 21, 2025
@KristofferCKristofferC changed the titleset VERSION to 1.12.1 (#59871)Backports for 1.12.2Oct 21, 2025
@ViralBShah
Copy link
Member

Hopefully the linalg bump can make it in:#59927

@KSepetanc
Copy link

KSepetanc commentedOct 23, 2025
edited
Loading

PR#59736 is marked here as needs manual backport, but has been marked as backported in 1.12.1. Why?

@KristofferC
Copy link
MemberAuthor

I guess I forgot to remove the label

KSepetanc reacted with thumbs up emoji

@KristofferC
Copy link
MemberAuthor

Please cherry pick with-x when pushing them here.

@vtjnash
Copy link
Member

I don't know who that is directed at, but note that#59921 is not a backport, but a v1.12-only bug

@DilumAluthgeDilumAluthge added the don't squashDon't squash merge labelNov 2, 2025
KristofferCand others added12 commitsNovember 4, 2025 20:24
…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)
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.
jakobnissenand others added8 commitsNovember 7, 2025 19:09
fix 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)
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)
@KristofferC
Copy link
MemberAuthor

LoadError: IOError: could not spawn setenv(`7z x /private/var/tmp/agent-tempdirs/default-honeycrisp-XC9YQX9HH2.0/tmp/jl_l2pSjSpC3w-download.gz -so`)

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
Copy link
Member

nhz2 commentedNov 8, 2025

Why is the7z not getting the full path? Shouldn't it be something like/home/nathan/.julia/juliaup/julia-1.12.1+0.x64.linux.gnu/libexec/julia/7z

@KristofferC
Copy link
MemberAuthor

KristofferC commentedNov 8, 2025
edited
Loading

Yes, that's what I linked. Locally it seems ok...

julia>using p7zip_jlljulia> p7zip_jll.is_available()truejulia>using Pkgjulia> Pkg.PlatformEngines.exe7z()setenv(`/Users/kc/julia/usr/libexec/julia/7z

Even with this PR in juliaup it seems ok. I noticed the new p7zip_jll has a CSL dependency, could that be out of date on 1.12 or something? As an experiment, I will revert the 7z bump just to see what happens.

Edit: Actually, I don't have to revert because we have a CI run on that exact commit:

image

ba1baa8

@KristofferC
Copy link
MemberAuthor

@nhz2
Copy link
Member

nhz2 commentedNov 8, 2025

Also, will the new CSL dep break existing Manifests for 1.12?

JamesWrigleyand others added2 commitsNovember 8, 2025 21:00
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)
@KristofferC
Copy link
MemberAuthor

I tried with some help from Claude with87f5619 but didn't seem to help.

@KristofferC
Copy link
MemberAuthor

KristofferC commentedNov 9, 2025
edited
Loading

Ah, it is not there. If I download the build artifact:

~/Downloads/julia-a81d1ec833❯ cd libexec/julia   ~/Downloads/julia-a81d1ec833/libexec/julia❯ lsdsymutil lld

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.

@KristofferC
Copy link
MemberAuthor

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)

7-zip 17.05:  191.101 ms (7503 allocations: 239.80 MiB)7-Zip (a) 25.01:  95.626 ms (7019 allocations: 239.77 MiB)zstd:  24.648 ms (3568 allocations: 305.57 MiB)

KristofferCand others added4 commitsNovember 9, 2025 20:59
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>
@KristofferC
Copy link
MemberAuthor

@nanosoldierruntests()

@nanosoldier
Copy link
Collaborator

The package evaluation jobyou requested has completed - possible new issues were detected.
Thefull report is available.

Report summary

❗ Packages that crashed

2 packages crashed only on the current version.

  • The process was aborted: 1 packages
  • Invalid LLVM IR was generated: 1 packages

46 packages crashed on the previous version too.

✖ Packages that failed

45 packages failed only on the current version.

  • Illegal method overwrites during precompilation: 1 packages
  • Package has test failures: 3 packages
  • Package tests unexpectedly errored: 20 packages
  • Tests became inactive: 1 packages
  • Test duration exceeded the time limit: 20 packages

3472 packages failed on the previous version too.

✔ Packages that passed tests

36 packages passed tests only on the current version.

  • Other: 36 packages

6145 packages passed tests on the previous version too.

➖ Packages that were skipped altogether

6 packages were skipped only on the current version.

  • Package could not be installed: 6 packages

1385 packages were skipped on the previous version too.

@KristofferC
Copy link
MemberAuthor

@nanosoldierruntests(["XAIBase", "Timestamps64", "JuliaInterpreter", "PiecewiseLinearFunctions", "FunctionOperators", "VanVleckRecursion", "C3D", "Polynomials", "BipartiteFactorGraphs", "SparseMatrixColorings", "ConstrainedShortestPaths", "Hecke", "VectorizationBase", "StatsFuns", "Andes", "SawyerEliassenSolver", "ImageMagick", "ExplainableAI", "RegressionTables", "MultiObjectiveAlgorithms", "SDiagonalizability", "CompressedSensing", "RegressionDynamicCausalModeling", "CellMetabolismBase", "CellMetabolism", "SatelliteAnalysis", "ProbabilisticParameterEstimators", "NonconvexMultistart", "SphericalFunctions", "CensoredDistributions", "SecondQuantizedAlgebra", "PowerAnalytics", "SimpleSDMPolygons", "HierarchicalEOM", "LongwaveModePropagator", "TenSolver", "SpiDy", "GeometricFlux", "GNSSReceiver", "PhysicsInformedRegression", "BoxCox", "EcoNetPostProcessing", "ReactionDiffusion"])

@nanosoldier
Copy link
Collaborator

The package evaluation jobyou requested has completed - possible new issues were detected.
Thefull report is available.

Report summary

✖ Packages that failed

18 packages failed only on the current version.

  • Package tests unexpectedly errored: 18 packages

7 packages failed on the previous version too.

✔ Packages that passed tests

18 packages passed tests on the previous version too.

@KristofferC
Copy link
MemberAuthor

@nanosoldierruntests(["XAIBase", "SawyerEliassenSolver", "SDiagonalizability", "BipartiteFactorGraphs", "PiecewiseLinearFunctions", "VanVleckRecursion", "RegressionDynamicCausalModeling", "JuliaInterpreter", "SecondQuantizedAlgebra", "StatsFuns", "C3D", "ProbabilisticParameterEstimators", "CellMetabolismBase", "CensoredDistributions", "ExplainableAI", "ConstrainedShortestPaths", "CellMetabolism", "HierarchicalEOM"])

JuliaRegistries/General#142382 should have fixed many of these

@nanosoldier
Copy link
Collaborator

The package evaluation jobyou requested has completed - possible new issues were detected.
Thefull report is available.

Report summary

✖ Packages that failed

7 packages failed only on the current version.

  • Package tests unexpectedly errored: 7 packages

✔ Packages that passed tests

11 packages passed tests on the previous version too.

@KristofferCKristofferC merged commitbdc35b2 intorelease-1.12Nov 13, 2025
8 checks passed
@KristofferCKristofferC deleted the backports-release-1.12 branchNovember 13, 2025 10:43
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

1 more reviewer

@nhz2nhz2nhz2 left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

don't squashDon't squash mergereleaseRelease management and versioning.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

19 participants

@KristofferC@ViralBShah@KSepetanc@vtjnash@nhz2@nanosoldier@DilumAluthge@simeonschaub@JamesWrigley@aviatesk@DilumAluthgeBot@fingolfin@bluesmoon@jakobnissen@LilithHafner@haakon-e@IanButterworth@oscardssmith

[8]ページ先頭

©2009-2025 Movatter.jp