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.11.0-rc2 #54925

Merged
merged 36 commits into from
Jul 26, 2024
Merged

Conversation

KristofferC
Copy link
Member

@KristofferC KristofferC commented Jun 25, 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 Jun 25, 2024
KristofferC and others added 27 commits June 25, 2024 11:01
)

Otherwise it may result in missing `⊑` method error in uses cases by
external abstract interpreters using `MustAliasesLattice` like JET.
There are some use-cases that would benefit from being able to
reset the code coverage information during runtime. This creates
the function `jl_clear_coverage_data` to reset the `coverageData`
global.

(cherry picked from commit 018770d)
We were calling `repr` here to interpolate the character with the quotes
into the error message. However, this is overkill for this application,
and `repr` introduces dynamic dispatch into the call. This PR hard-codes
the quotes into the string, which matches the pattern followed in the
other error messages following `chkvalidparam`.

(cherry picked from commit ca0b2a8)
Previously this might return `nothing` which would confuse the caller of
`start_loading` which expects that to mean the Module didn't load. It is
not entirely clear if this code ever worked, even single-threaded.

Fix #54813

(cherry picked from commit 0ef2bb6)
Previously, this method hit the slow generic AbstractArray fallback.

Closes #55079

This is an ad-hoc bandaid that really ought to be fixed by resolving
#54581.

(cherry picked from commit ec90012)
closes #55083

Shouldu this also check for `\r`?

---------

Co-authored-by: Alex Arslan <ararslan@comcast.net>
(cherry picked from commit e732706)
…#55143)

After investigating #54090, I found that the issue was
not caused by the effects of `checksquare`, but by the use of the
`@simd` macro within `tr(::Matrix)`:

https://github.com/JuliaLang/julia/blob/0945b9d7740855c82a09fed42fbf6bc561e02c77/stdlib/LinearAlgebra/src/dense.jl#L373-L380

While simply removing the `@simd` macro was considered, the strict
left-to-right summation without `@simd` otherwise is not necessarily
more accurate, so I concluded that the problem lies in the test code,
which tests the (strict) equality of two different `tr` execution
results. I have modified the test code to use `≈` instead of `==`.

- fixes #54090
#55141)

The devdocs here reflect a time when aarch64 was much less well
supported, it also reference Cudadrv which has been archived for years

(cherry picked from commit 2efcfd9)
This makes the `WarnMissedTransformationsPass` compiler pass optional
and off by default.

(cherry picked from commit 1fc9fe1)
This macro was added in v1.10 but was missing a compat notice.

(cherry picked from commit 3290904)
`a[begin]` indexing was added by #35779 in Julia 1.6, so this feature
needs a compat notice in the docstring.

(cherry picked from commit 43df7fb)
Fixes #54860, see the commit message for more details.

The added test serves as a MWE of the original bug report.

(cherry picked from commit e621c74)
Correction to #55197: `a[begin]` indexing was added in Julia 1.4
(#33946), not in Julia 1.6 (which just changed the implementation in
#35779). My bad.

(cherry picked from commit 06467eb)
Introduced in #43305

(cherry picked from commit 6b08e80)
This release fixes issues with complex valued returns from functions
such as `cdotc` on Windows x64. See this discussion [0] for initial
diagnosis, and this PR [1] for the relevant fixes.

[0] JuliaLinearAlgebra/BLISBLAS.jl#15
[1] JuliaLinearAlgebra/libblastrampoline#129

(cherry picked from commit 3054c00)
This should have no functional changes, however, it will affect the
version of non-stdlib JLLs.

I'd like to see if we can add this as a backport candidate to 1.11 since
it doesn't change Julia functionality at all, but does allow some
non-stdlib JLLs to be kept current. Otherwise at least the SPEX linear
solvers and the ParU linear solvers will be missing multiple significant
features until 1.12.

(cherry picked from commit f3298ee)
In `using A.B`, we need to evaluate `A.B` to add the module to the using
list. However, in `using A: B`, we do not care about the value of `A.B`,
we only operate at the binding level. These two operations share a code
path and the evaluation of `A.B` happens early and is unused on the
`using A: B` path. I believe this was an unintentional oversight when
the latter syntax was added. Fixes #54954.

(cherry picked from commit 89e391b)
… or directory (#53286)

Replaces #52105
Fixes #52063

There is a question about whether the `ispath & uperm` check should be
moved inside the `_track_dependencies[]` check (like it was in #52105),
which would make it such that any errors are thrown only during
precompilation.

---------

Co-authored-by: Qian Long <longqian95@gmail.com>
Co-authored-by: Jameson Nash <vtjnash@gmail.com>
(cherry picked from commit 71fa11f)
…54965)

By changing the default to `true` we make it easier to build relocatable
packages from already existing ones when 1.11 lands.

This keyword was just added during 1.11, so its not yet too late to
change its default.

(cherry picked from commit 6cf3a05)
(cherry picked from commit ce4f090)
This now allows the user to load any number of copies of a module, and
uses the combination of the environment, explicitly loaded modules, and
the requirements of the precompile caches to determine the meaning of a
name and which files need to be loaded. Note however that package
extensions continue to primarily only apply to the explicitly loaded
modules, although they may get loaded incidentally as the dependency of
another package, they won't get defined for every pair of combinations
of triggering modules.

Fixes #53983

(cherry picked from commit a1a2ac6)
vtjnash and others added 5 commits July 23, 2024 16:56
This fixes a couple unconventional issues people encountered and were
able to report as bugs against #54739

Note that due to several bugs in REPLExt itself
(#54889,
#54888), loading the extension
may still crash julia in some circumstances, but that is now a Pkg bug,
and no longer the fault of the loading code.

(cherry picked from commit a7fa1e7)
More followup to fix issues with require. There was an accidental
variable reuse (build_id) that caused it to be unable to load cache
files in many cases. There was also missing check for a dependency
already being loaded, resulting in trying to load it twice. Finally, the
start_loading code may drop the require_lock, but the surrounding code
was not prepared for that. Now integrate the necessary checks into
start_loading, instead of needing to duplicate them before and
afterwards.

Fixes #53983
Fixes #54940
Closes #55064

(cherry picked from commit fba928d)
Co-authored-by: Steven G. Johnson <stevenj@alum.mit.edu>
(cherry picked from commit 7ec60b4)
Ensures that adding or examining the methods of Type{Union{}} in the
method table returns the correct results.

Fixes #55187

(cherry picked from commit d68befd)
@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.

@KristofferC
Copy link
Member Author

There is a new assertion (#55263) but even with it's been so long since the last RC that I think we have to go ahead and release this and work on that assertion in the mean time.

@KristofferC KristofferC merged commit 26291f5 into release-1.11 Jul 26, 2024
9 checks passed
@KristofferC KristofferC deleted the backports-release-1.11 branch July 26, 2024 08:53
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.