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 1.10.1 #52755

Merged
merged 42 commits into from
Feb 6, 2024
Merged

Backports for 1.10.1 #52755

merged 42 commits into from
Feb 6, 2024

Conversation

KristofferC
Copy link
Sponsor Member

@KristofferC KristofferC commented Jan 5, 2024

Backported PRs:

Non-merged PRs with backport label:

@KristofferC KristofferC added the kind:release Release management and versioning. label Jan 5, 2024
@aviatesk
Copy link
Sponsor Member

aviatesk commented Jan 5, 2024

Looks like this branch isn't rebased against the latest release-1.10 branch?

jishnub and others added 3 commits January 5, 2024 14:37
Since the values stored in the parent corresponding to the structural
zeros of a tridiagonal matrix aren't well-defined, using it in `ldiv!`
is a footgun that may lead to heisenbugs (one seen in
https://buildkite.com/julialang/julia-master/builds/31285#018c7cc7-6c77-41ac-a01b-1c7d14cb1b15).
This PR changes it to using the tridiagonal matrix directly in `ldiv!`,
which should lead to predictable results, and be bug-free. The failing
tests for #52571 pass locally with this change.

(cherry picked from commit ef549ae)
Make these consistent with what's shown by `julia --help`.

Fixes JuliaLang/www.julialang.org#1997.

(cherry picked from commit e7e8b89)
Fixes #52404
@nilshg I opted to make it one line as it fits.
```
julia> versioninfo()
Julia Version 1.11.0-DEV.1011
Commit bb7091c* (2023-12-04 14:58 UTC)
Platform Info:
  OS: macOS (arm64-apple-darwin23.0.0)
  CPU: 10 × Apple M2 Pro
  WORD_SIZE: 64
  LLVM: libLLVM-15.0.7 (ORCJIT, apple-m1)
  Threads: 1 default, 0 interactive, 1 GC (on 6 virtual cores)
Environment:
  JULIA_EDITOR = code
```

(cherry picked from commit e96c13a)
@KristofferC
Copy link
Sponsor Member Author

Thanks, should be fixed.

@PallHaraldsson

This comment was marked as off-topic.

Fix #52613 by making the TypeVar special case in inference check for
vararg first. There's nothing the special case can really do with vararg
anyway, so fall back to the ordinary abstract call handling.
Fixes #52686
Fixes timholy/Revise.jl#770

---------

Co-authored-by: Jameson Nash <vtjnash@gmail.com>
Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com>
Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com>
@PallHaraldsson
Copy link
Contributor

PallHaraldsson commented Jan 6, 2024

Also backport [OpenBLAS] Ugrade to v0.3.26 #52762 (it fixes a bug, and e.g. better for Apple M1, can be 2.8x faster)?!

[Also maybe backport [SuiteSparse_jll] Update to v7.4.0 from 7.2.1? I'm not sure it's an upgradable stdlib by now, or OpenBLAS, is it standard dependence to upgrade these dependencies or only if not upgradable?]
Though I'm not at all convinced of that, or the need, it was a problematic upgrade, and this doesn't look good:
#52577 (comment)

It has become impossible to maintain the SuiteSparse bindings - I have to re-learn the whole build system every few months.

I suppose the bar is fixing a bug and the only I see are in v7.2.2:

CHOLMOD 4.2.2: minor bug fix to CHOLMOD/Supernodal when determining the # of OpenMP threads to use for assembling values into the last supernode (nthreads). The resulting nthreads is valid, just perhaps not optimal for this last supernode.

And I'm not sure it fixes a bug (that applies), this in 7.4:

CHOLMOD 5.1.0: full support for sparse single precision matrices, bug fixes in the GPU Module.

but of interest:

SuiteSparseLAPACK.cmake: allow the use of BLIS/FLAME for LAPACK

@imciner2
Copy link
Contributor

imciner2 commented Jan 7, 2024

Also maybe backport #52577 (comment) from 7.2.1?

IMO, no, this isn't backportable. The JLL for 7.4.0 was built with a Julia 1.11 compat entry, so the JLL won't install on 1.10 right now.

I suppose the bar is fixing a bug and the only I see are in v7.2.2:

CHOLMOD 4.2.2: minor bug fix to CHOLMOD/Supernodal when determining the # of OpenMP threads to use for assembling values into the last supernode (nthreads). The resulting nthreads is valid, just perhaps not optimal for this last supernode.

We don't build with OpenMP, so I don't see this bugfix as being useful for us.

And I'm not sure it fixes a bug (that applies), this in 7.4:

CHOLMOD 5.1.0: full support for sparse single precision matrices, bug fixes in the GPU Module.

The SparseArrays.jl wrappers (and underlying SuiteSparse solver wrappers) don't support any of the single-precision parts yet.

but of interest:

SuiteSparseLAPACK.cmake: allow the use of BLIS/FLAME for LAPACK

This is a build system change, and the SuiteSparse we use is already built against LBT, so you can try BLIS/FLAME by setting the redirects in LBT appropriately in 7.2.1 that we already ship in 1.10.

aviatesk and others added 10 commits January 7, 2024 19:26
Issues like #52531 were more broadly fixed by #52856. This commit
partially reverts #52596, while leaving the added tests.
The fallback code that was written for #41099 is causing unintended
issues with some inlined stack frames (one previous #51405, new #52709),
since the main piece, linetable storage and lookup, was removed in
#50546. Probably better to strip it all back to how it was previously,
until it can all be revisited more fully.

Should be backported to 1.10.
…52836)

Investigating into #52763, I've found that `AbstractInterpreters` which
enables the `aggressive_constprop` option, such as `REPLInterpreter`,
might perform const-prop' even if the result of a non-const call is
`LimitedAccuracy`. This can lead to an unintended infinite loop with a
custom aggressive const-prop' implementation.

This commit restricts const-prop' for such cases where the non-const
call result is limited to avoid the issue. This fix is conservative, but
given that accurate inference is mostly impossible when there are
unresolvable cycles (which is indicated by limited result), aggressive
const-prop' isn't necessary for such cases, and I don't anticipate this
leading to any obvious regression.

fix #52763
…ead289a (#52886)

Stdlib: Downloads
URL: https://github.com/JuliaLang/Downloads.jl.git
Stdlib branch: release-1.10
Julia branch: backports-release-1.10
Old commit: f97c72f
New commit: ead289a
Julia version: 1.10.0
Downloads version: 1.6.0(It's okay that it doesn't match)
Bump invoked by: @IanButterworth
Powered by:
[BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl)

Diff:
JuliaLang/Downloads.jl@f97c72f...ead289a

```
$ git log --oneline f97c72f..ead289a
ead289a Close Multi timers atexit. Add 1.6 CI (#234)
8a614d5 Skip flakey "concurrent requests" tests on windows (#228)
246504e add a small precompile workload (#226)
3ed0f08 Document how to bypass the 20-second timeout (#222)
```

Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
I think when we backed off the new heuristics for 1.10 this got missed
in the meanwhile.
Should fix #52923
@IanButterworth
Copy link
Sponsor Member

Notable failures:

REPL

  | REPL                                              (6) \|         failed at 2024-01-07T10:51:33.489
  | Test Failed at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-10/julia-5c0a2a61cb/share/julia/stdlib/v1.10/REPL/test/replcompletions.jl:683
  | Expression: occursin("test(args...)", c[1])
  | Evaluated: occursin("test(args...)", "test11(a::Integer, b, c) @ Main.CompletionFoo /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-10/julia-5c0a2a61cb/share/julia/stdlib/v1.10/REPL/test/replcompletions.jl:102")
  |  
  | Test Failed at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-10/julia-5c0a2a61cb/share/julia/stdlib/v1.10/REPL/test/replcompletions.jl:684
  | Expression: occursin("test11(a::Integer, b, c)", c[2])
  | Evaluated: occursin("test11(a::Integer, b, c)", "test(args...) @ Main.CompletionFoo /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-10/julia-5c0a2a61cb/share/julia/stdlib/v1.10/REPL/test/replcompletions.jl:72")

NetworkOptions

  | NetworkOptions                                    (4) \|         failed at 2024-01-16T05:53:45.557
  | Test Failed at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-macmini-x64-5.0/build/default-macmini-x64-5-0/julialang/julia-release-1-dot-10/julia-aaaf5de5e6/share/julia/stdlib/v1.10/NetworkOptions/test/runtests.jl:72
  | Expression: ssh_known_hosts_file() == bundled
  | Evaluated: "/private/var/tmp/agent-tempdirs/default-macmini-x64-5.0/tmp/jl_BoDIFcvqZ4/known_hosts" == "/private/var/tmp/agent-tempdirs/default-macmini-x64-6.0/tmp/jl_19mCzs"
  |  
  | Test Failed at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-macmini-x64-5.0/build/default-macmini-x64-5-0/julialang/julia-release-1-dot-10/julia-aaaf5de5e6/share/julia/stdlib/v1.10/NetworkOptions/test/runtests.jl:166
  | Expression: ssh_known_hosts_file() == bundled
  | Evaluated: "/private/var/tmp/agent-tempdirs/default-macmini-x64-5.0/home/.ssh/known_hosts" == "/private/var/tmp/agent-tempdirs/default-macmini-x64-6.0/tmp/jl_19mCzs"

DilumAluthgeBot and others added 2 commits January 23, 2024 23:39
…5539d (#53028)

Stdlib: Pkg
URL: https://github.com/JuliaLang/Pkg.jl.git
Stdlib branch: release-1.10
Julia branch: backports-release-1.10
Old commit: 11cf00df7
New commit: 70525539d
Julia version: 1.10.0
Pkg version: 1.10.0
Bump invoked by: @IanButterworth
Powered by:
[BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl)

Diff:
JuliaLang/Pkg.jl@11cf00d...7052553

```
$ git log --oneline 11cf00df7..70525539d
70525539d Merge pull request #3770 from JuliaLang/backports-release-1.10
729ebe1e3 Avoid deleting existing artifacts when ignoring hashes. (#3768)
```

Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
@imciner2
Copy link
Contributor

Is the OpenBLAS 0.3.26 backport possible? We have it configured with a Julia compat of 1.11 in the Yggdrasil build recipe, so I don't think the JLL will be compatible with Julia 1.10 unless we do another change in Yggdrasil first. @giordano thoughts on this?

@giordano
Copy link
Contributor

Dunno, compatibility can be fixed in the registry, that isn't a big deal, I don't mind but I think in the past other devs weren't excited about backporting upgrades of JLLs, although OpenBLAS is a pretty stable package.

@KristofferC
Copy link
Sponsor Member Author

This looked like a simple patch update to a JLL. Why is there a julia version dependency on it?

@giordano
Copy link
Contributor

This looked like a simple patch update to a JLL.

OpenMathLib/OpenBLAS@v0.3.23...v0.3.26

Why is there a julia version dependency on it?

Because jlls need to specify julia compat like any other package? And we usually put as compat the julia version where we expect that build to be used, but the registry can be fixed if necessary, it isn't a problem.

@KristofferC
Copy link
Sponsor Member Author

And we usually put as compat the julia version where we expect that build to be used,

Naively, it seems better to put it for the lowest julia version where it can be used. Anyway, I'll drop it for now.

gbaraldi and others added 2 commits January 24, 2024 16:30
There is no HTML entity `&hArr;` and accordingly all the usual browsers
(Chrome, Firefox, Safari) don't render it.

My guess is that there is confusion because GitHub supports `&hArr;` and
shows it as &hArr; (and `&harr;` as &harr;).

But here is for example what Firefox shows:
<img width="853" alt="Screen Shot 2023-11-08 at 14 02 01"
src="https://github.com/JuliaLang/julia/assets/241512/af7d9e27-a5c3-46c3-94d9-82ed52653cb4">

This patch could be backported to 1.9 and 1.10.

(cherry picked from commit 81c4f8e)
@KristofferC
Copy link
Sponsor 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.

@oscardssmith
Copy link
Member

JuliaPackaging/Yggdrasil#7202 is merged so we now should be able to update openblas. this is pretty important because it fixes issues on M1 chips and fixes the cutoff point for gemv using multiple threads which previously could case a ~100x regression on chips with many cores.

@imciner2
Copy link
Contributor

JuliaPackaging/Yggdrasil#7202 is merged so we now should be able to update openblas. this is pretty important because it fixes issues on M1 chips and fixes the cutoff point for gemv using multiple threads which previously could case a ~100x regression on chips with many cores.

It is the OpenBLAS@0.3.23+2 package specifically that should be backported directly to this branch (that PR did merge both the 0.3.26 for current master and the update for 0.3.23 for here).

IanButterworth and others added 7 commits January 26, 2024 09:54
The earlier test relied on the order of the method match list returned
by `_methods_by_ftype`. However, particularly in cases where the
`ambig=true` option is used, the match list isn't deterministic. This
commit modifies it, similar to other pieces of code, so that it `any` to
ensure the code does not depend on the implementation details of
`ml_matches`.

Fixes #52739.
This particular fix was part of #50805, but it wasn't included in
version 1.10, leading to situations where an incorrect `:nothrow` could
occur in 1.10 (#53062). This commit implements a minimal correction in
1.10 and also added some test cases.

Fixes #53062.
Documenter does not support HTML entities. See discussion in PR #52078
for further background.

Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
(cherry picked from commit 746fad0)
@jaakkor2
Copy link
Contributor

jaakkor2 commented Feb 3, 2024

This branch does not compile on Cygwin on Windows without #51698

This avoid that these files are picked up during julia's build process,
and are instead only used to link pkgimages, as intended.

Co-authored-by: Tim Besard <tim.besard@gmail.com>
(cherry picked from commit 4ef353c)
@KristofferC
Copy link
Sponsor 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.

@KristofferC KristofferC merged commit 1dfdf66 into release-1.10 Feb 6, 2024
7 checks passed
@KristofferC KristofferC deleted the backports-release-1.10 branch February 6, 2024 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:release Release management and versioning.
Projects
None yet
Development

Successfully merging this pull request may close these issues.