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

Backports for Julia 1.10.8 #56653

Merged
merged 26 commits into from
Jan 14, 2025
Merged

Backports for Julia 1.10.8 #56653

merged 26 commits into from
Jan 14, 2025

Conversation

KristofferC
Copy link
Member

@KristofferC KristofferC commented Nov 22, 2024

Backported PRs:

Need manual backport:

Contains multiple commits, manual intervention needed:

Non-merged PRs with backport label:

@KristofferC KristofferC added the release Release management and versioning. label Nov 22, 2024
@christiangnrd
Copy link
Contributor

JuliaLang/Pkg.jl#4093

@topolarity
Copy link
Member

JuliaLang/Pkg.jl#4093

And a follow-up to that backport: #56666

@topolarity
Copy link
Member

@christiangnrd

This comment was marked as resolved.

@IanButterworth
Copy link
Member

Looks like your branch is old. Says 1.10.6

@christiangnrd
Copy link
Contributor

I think this branch was created before the commit to change the version to 1.10.7 was merged https://github.com/JuliaLang/julia/blob/39cfea14d5224138e980ab7a7a0c551325e249e8/VERSION

@giordano
Copy link
Contributor

giordano commented Jan 8, 2025

I pushed 96ad0a8 to do the same thing as described in #56741 (comment)

@KristofferC
Copy link
Member Author

@wsmoses, @gbaraldi, it seems the SparseArray bump (with the hvcat change) breaks the doctests?

image

@wsmoses
Copy link
Contributor

wsmoses commented Jan 9, 2025

@KristofferC I'm not quite sure how to do the baked in stdlib, but @gbaraldi tried JuliaSparse/SparseArrays.jl#592 and it seemed to resolve ?

@KristofferC
Copy link
Member Author

@nanosoldier runtests()

@nanosoldier
Copy link
Collaborator

The package evaluation job you requested has completed - possible new issues were detected.
The full report is available.

Report summary

❗ Packages that crashed

4 packages crashed only on the current version.

  • The process was aborted: 4 packages

206 packages crashed on the previous version too.

✖ Packages that failed

25 packages failed only on the current version.

  • Illegal method overwrites during precompilation: 2 packages
  • Package has test failures: 5 packages
  • Package tests unexpectedly errored: 2 packages
  • Networking-related issues were detected: 1 packages
  • Tests became inactive: 3 packages
  • Test duration exceeded the time limit: 12 packages

2402 packages failed on the previous version too.

✔ Packages that passed tests

36 packages passed tests only on the current version.

  • Other: 36 packages

6423 packages passed tests on the previous version too.

➖ Packages that were skipped altogether

1082 packages were skipped on the previous version too.

@IanButterworth
Copy link
Member

IanButterworth commented Jan 12, 2025

The tests that are failing on macos were turned into skips in #53682 see #53682 (comment) so I backported that part here

@IanButterworth

This comment has been minimized.

@KristofferC
Copy link
Member Author

KristofferC commented Jan 13, 2025

Seeing

Failed to precompile TimeseriesSurrogatesVisualizations [bde4fa71-810a-59c6-83e0-28def334d148] to "/home/pkgeval/.julia/compiled/v1.10/TimeseriesSurrogatesVisualizations/jl_rQfE4B".
julia: /source/src/subtype.c:4669: sub_msp: Assertion `obvious_sub == 3 || obvious_sub == subtype || ijl_has_free_typevars(x) || ijl_has_free_typevars(y)' failed.

[82] signal (6.-6): Aborted
in expression starting at /home/pkgeval/.julia/packages/Makie/Y3ABD/precompile/shared-precompile.jl:90
unknown function (ip: 0x756edb53cebc)
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x756edb4d8394)
__assert_fail at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
sub_msp at /source/src/subtype.c:4669
type_morespecific_ at /source/src/subtype.c:4927
type_morespecific_ at /source/src/subtype.c:5092
type_morespecific_ at /source/src/subtype.c:5092
type_morespecific_ at /source/src/subtype.c:5037
type_morespecific_ at /source/src/subtype.c:4995
type_morespecific_ at /source/src/subtype.c:5092
type_morespecific_ at /source/src/subtype.c:5089

Edit: Reproduces locally.

@KristofferC
Copy link
Member Author

KristofferC commented Jan 13, 2025

But also reproduces on 1.10.7, these are actually there in the PkgEval log as well, just that they get recorded as a test failure from later.

Seems to work ok on master though.

jishnub and others added 8 commits January 13, 2025 15:07
)

The `(::Diagonal) + (::Symmetric)` and analogous methods were
specialized in #35333 to return a
`Symmetric`, but these only work if the `Diagonal` is also symmetric.
This typically holds for arrays of numbers, but may not hold for
block-diagonal and other types for which symmetry isn't guaranteed. This
PR restricts the methods to arrays of `Number`s.

Fixes, e.g.:
```julia
julia> using StaticArrays, LinearAlgebra

julia> D = Diagonal(fill(SMatrix{2,2}(1:4), 2))
2×2 Diagonal{SMatrix{2, 2, Int64, 4}, Vector{SMatrix{2, 2, Int64, 4}}}:
 [1 3; 2 4]      ⋅
     ⋅       [1 3; 2 4]

julia> S = Symmetric(D)
2×2 Symmetric{AbstractMatrix, Diagonal{SMatrix{2, 2, Int64, 4}, Vector{SMatrix{2, 2, Int64, 4}}}}:
 [1 3; 3 4]      ⋅
     ⋅       [1 3; 3 4]

julia> S + D
2×2 Symmetric{AbstractMatrix, Diagonal{SMatrix{2, 2, Int64, 4}, Vector{SMatrix{2, 2, Int64, 4}}}}:
 [2 6; 6 8]      ⋅
     ⋅       [2 6; 6 8]

julia> S[1,1] + D[1,1]
2×2 SMatrix{2, 2, Int64, 4} with indices SOneTo(2)×SOneTo(2):
 2  6
 5  8

julia> (S + D)[1,1] == S[1,1] + D[1,1]
false
```
After this,
```julia
julia> S + D
2×2 Matrix{AbstractMatrix{Int64}}:
 [2 6; 5 8]  [0 0; 0 0]
 [0 0; 0 0]  [2 6; 5 8]
```

Even with `Number`s as elements, there might be an issue with `NaN`s
along the diagonal as `!issymmetric(NaN)`, but that may be a different
PR.

(cherry picked from commit 197295c)
This PR is a potential fix for #54833.

## Description
The function
https://github.com/JuliaLang/julia/blob/2a06376c18afd7ec875335070743dcebcd85dee7/stdlib/LinearAlgebra/src/triangular.jl#L2220
computes $\boldsymbol{A}^{\dfrac{1}{2^s}} - \boldsymbol{I}$ for a
real-valued $2\times 2$ matrix $\boldsymbol{A}$ using Algorithm 5.1 in
[R1]. However, the algorithm in [R1] as well as the above function do
not handle the case $s=0.$ This fix extends the function to compute
$\boldsymbol{A}^{\dfrac{1}{2^s}} - \boldsymbol{I} \Bigg|_{s=0} =
\boldsymbol{A} - \boldsymbol{I}.$

## Checklist
- [X] Fix code: `stdlib\LinearAlgebra\src\triangular.jl` in function
`_sqrt_pow_diag_block_2x2!(A, A0, s)`.
- [X] Add test case: `stdlib\LinearAlgebra\test\triangular.jl`.
- [X] Update `NEWS.md`.
- [X] Testing and self review.

|  Tag  | Reference |
| --- | --- |
| <nobr>[R1]</nobr> | Al-Mohy, Awad H. and Higham, Nicholas J. "Improved
Inverse Scaling and Squaring Algorithms for the Matrix Logarithm", 2011,
url: https://eprints.maths.manchester.ac.uk/1687/1/paper11.pdf |

---------

Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de>
Co-authored-by: Oscar Smith <oscardssmith@gmail.com>
(cherry picked from commit 2cdfe06)
…09f49 (#56669)

Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
fix preferential Manifest.toml naming (#3731)
…56666)

It is possible for an extension `ExtAB` to be loadable by one of its
triggers, e.g. if `A` loads `B`. However, this loading is not supposed
to happen during pre-compilation of `A`.

Getting this wrong means disagreeing with the scheduled pre-compile jobs
(`A` is not scheduled to depend on or generate a cache file for `ExtAB`
but accidentally attempts both) and leads to confusing errors about
missing cache files.

We used to cover up this bad behavior w/ an erroneous cycle warning
(fixed by #55910), but now we need to be sure this works.
This pass was assuming that the post-dominator of all finalizer uses
exists as a real BB in the CFG.
aviatesk and others added 17 commits January 13, 2025 15:07
Fixes #56782
Fix `exp(reinterpret(Float64, 0x7ffbb14880000000))` returning non-NaN
value. This should have minimal performance impact since it's already in
the fallback branch.

(cherry picked from commit 19e06d3)
Fixes #56726 added the changes that were suggested. fixing the mistake.

---------

Co-authored-by: Max Horn <max@quendi.de>
Co-authored-by: Chengyu Han <git@wo-class.cn>
(cherry picked from commit fc9e7c4)
…56842)

Fix #56841.

Currently the documentation states that keys(dict) and values(dict)
iterate in the same order. But it is not stated whether this is the same
order as that used by pairs(dict), or when looping, for (k,v) in dict.

This PR makes this guarantee explicit.

(cherry picked from commit 796d823)
#55886 accidentally created a new function
`Base.MathConstants.rationalize` instead of extending
`Base.rationalize`, which is the reason why `Base.rationalize(Int, π)`
isn’t constant-folded in Julia 1.10 and 1.11:

```
julia> @Btime rationalize(Int,π);
  1.837 ns (0 allocations: 0 bytes)      # v1.9: constant-folded
  88.416 μs (412 allocations: 15.00 KiB) # v1.10: not constant-folded
```

This PR fixes that. It should probably be backported to 1.10 and 1.11.

(cherry picked from commit d3c26b7)
This is partial backport of #56105, only the part relative to parsing triplets.
…to 248d9f9 (#57005)

Stdlib: SparseArrays
URL: https://github.com/JuliaSparse/SparseArrays.jl.git
Stdlib branch: release-1.10
Julia branch: backports-release-1.10
Old commit: 78035e1
New commit: 248d9f9
Julia version: 1.10.7
SparseArrays version: 1.10.0(Does not match)
Bump invoked by: @dkarrasch
Powered by:
[BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl)

Diff:
JuliaSparse/SparseArrays.jl@78035e1...248d9f9

```
$ git log --oneline 78035e1..248d9f9
248d9f9 More adhereance to 1.10 error types (hopefully) (#592)
```

Co-authored-by: dkarrasch <26658441+dkarrasch@users.noreply.github.com>
…ea92b (#57014)

Co-authored-by: IanButterworth <1694067+IanButterworth@users.noreply.github.com>
(cherry picked from commit cf4f1ba)

Co-authored-by: Jameson Nash <vtjnash@gmail.com>
@KristofferC KristofferC force-pushed the backports-release-1.10 branch from 281df5d to 926eedc Compare January 13, 2025 14:07
@KristofferC
Copy link
Member Author

JuliaInterpreter failure is due to a check

if !Base.GIT_VERSION_INFO.tagged_commit # only run on nightly

which is not a correct way to run on nightly.

@KristofferC KristofferC merged commit 213feae into release-1.10 Jan 14, 2025
5 checks passed
@KristofferC KristofferC deleted the backports-release-1.10 branch January 14, 2025 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Release management and versioning.
Projects
None yet
Development

Successfully merging this pull request may close these issues.