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.9.2 #50090

Merged
merged 33 commits into from
Jun 30, 2023
Merged

Backports for 1.9.2 #50090

merged 33 commits into from
Jun 30, 2023

Conversation

KristofferC
Copy link
Member

@KristofferC KristofferC commented Jun 6, 2023

Backported PRs:

Need manual backport:

Contains multiple commits, manual intervention needed:

Non-merged PRs with backport label:

PallHaraldsson and others added 3 commits June 6, 2023 17:19
* Update calling-c-and-fortran-code.md Drop mentioning Cxx.jl

(cherry picked from commit e998367)
In some rare cases with callsite inlining, we try to inline an inferred
result from a local cache (`inf_result::InferenceResult`), whose source
has been transformed by `transform_result_for_cache`. At present,
`inf_result.src` stays to be `OptimizationState` in such cases,
causing `inlining_policy` to handle the callsite inlining.

This commit adjusts `transform_result_for_cache` so that it stores the
transformed source in `inf_result.src`, letting the callsite inliner
use it. Down the line, we might revisit this change to align it with
532125d, which isn't enabled yet.

(cherry picked from commit f407a4c)
@KristofferC KristofferC added the release Release management and versioning. label Jun 6, 2023
There are cases when `joint_effects` already has `:nothrow` tainted while the matches are
fully covered.
kpamnany and others added 4 commits June 21, 2023 14:51
This makes it so libgit2.so and libssh2.so go into `usr/lib` where they
should be, rather than into `usr/lib64` on some platforms.
Fixes for the `1.9.1-full` tarball
Co-authored-by: Valentin Churavy <[email protected]>

(cherry-picked from commit 4ef9fb1)
@IanButterworth

This comment was marked as resolved.

IanButterworth and others added 14 commits June 22, 2023 09:14
Ensure the lock is precise, so that we are allowed to register new
atexit hooks from inside an atexit hook. But then disable `atexit()`
when shutting down after it finishes running.

Add tests that cover all the cases:
1. registering a hook from inside a hook
2. registering a hook from another thread while hooks are running
3. attempting to register a hook after all hooks have finished
   (disallowed)

Fixes #49841
Co-authored-by: Jameson Nash <[email protected]>

(cherry picked from commit 20752db)
This build includes a fix from GCC 12.2 for a bug in libgomp 12.1 which was
causing frequent crashes on Windows in third-party libraries.

(cherry picked from commit a81398f)
* Add check call to getrf!

`lu!(A; check=false)` is supposed to disable the checking and leave it to the user:

> When check = true, an error is thrown if the decomposition fails. When check = false, responsibility for checking the decomposition's validity (via issuccess) lies with the user.

However, this is not quite true since `lu!` calls `getrf!` which internally does a check for `chkfinite` which does throw an error. This updates the `getrf!` function to have a `check` argument which is then used by `lu!` to fully disable the error throwing checks.

* Update lapack.jl

(cherry picked from commit d69b1a2)
Co-authored-by: Julian Samaroo <[email protected]>
(cherry picked from commit 9d1ac97)
…nd discourage the implicit default base (#50211)

(cherry picked from commit 90521dd)
…tal precompilation

In rare cases, if we fail to load a dependency during precompilation, we can fall-through to the "load locally" fallthrough in `_require()`.  However, if this happens during incremental precompilation, this ends up emitting `.ji` files that have multiple modules embedded within, which can cause massive precompilation issues further down the chain, as dependencies which try to load our `.ji` file themselves get corrupted.

This catches the error at the source, refusing to generate such a `.ji` file in the first place.

(cherry picked from commit 9032926)
The `run` method no longer throws an `ErrorException` on failure. It currently throws a `ProcessFailedException`.

(cherry picked from commit c0f623d)
…49863)

For types like `Foo{S, T<:S}`, `apply_type_nothrow` could in some
situations check whether the argument is a subtype of the upper bound of
`T`, i.e. `S`, but subtyping agaist a plain `TypeVar` would fail.
Instead return `false` in this case.

Fixes #49785.

(cherry picked from commit 1acec74)
@KristofferC
Copy link
Member Author

Test Failed at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XC9YQX9HH2.0/build/default-honeycrisp-XC9YQX9HH2-0/julialang/julia-release-1-dot-9/julia-50c86112bc/share/julia/test/subtype.jl:1790
--
  | Expression: Val{Tuple{Missing, Union{}}} === Val{Tuple{Missing, Union{}}}

hmm

oscardssmith and others added 6 commits June 27, 2023 17:29
* don't define hash(::BigInt) on 32 bit systems

(cherry picked from commit c3ea5dc)
…hod (#49777)

Previously `@enum` defined `Base.hash(::MyEnumType, ::UInt)` on the
user-defined enum type `MyEnumType`.
When the user wants to specialize the hash function for his own enum
type he will define exactly that method signature again which overwrites
it and leads to the warning

    WARNING: Method definition hash(TestPackage.MyEnumType, UInt64) in module TestPackage at Enums.jl:210 overwritten at [...]
      ** incremental compilation may be fatally broken for this module **

This commit changes `@enum` so that an internal method is used instead
which is called through a fallback `Base.hash(::Enum, ::UInt)`.

(cherry picked from commit 22551a2)
…SortingAlgorithms.TimSort (#50171)

(cherry picked from commit ba251e8)
* jltypes: add missing GC root for cmpswap_type Tuple.
  This is called with a fieldtype, which might not even be a DataType.

* support Ptr{Union{}} and Ptr{Cvoid} better

(cherry picked from commit bd5e6da)
@vtjnash
Copy link
Member

vtjnash commented Jun 27, 2023

I think we removed that Tuple{Union{}} test / functionality in v1.10 anyways, due to correctness reasons

@KristofferC
Copy link
Member Author

Do you have a reference to that?

@KristofferC
Copy link
Member Author

@nanosoldier runtests(vs=":release-1.9")

@KristofferC
Copy link
Member Author

@nanosoldier runbenchmarks(ALL, vs=":release-1.9")

@nanosoldier
Copy link
Collaborator

Your benchmark job has completed - possible performance regressions were detected. A full report can be found here.

@nanosoldier
Copy link
Collaborator

Your package evaluation job has completed - possible new issues were detected.
A full report can be found here.

@KristofferC
Copy link
Member Author

@nanosoldier runtests(["DelayDiffEq", "ClimaAtmos", "Relief", "SmartML", "RiskAdjustedLinearizations", "NumericalAlgorithms", "BondGraphs", "ITensorTDVP", "DescriptorSystems", "ProgressMeter", "MPSKit", "HighDimPDE", "AutomationLabsExportation", "Molly", "RoME"], vs = ":release-1.9")

@nanosoldier
Copy link
Collaborator

Your package evaluation job has completed - no new issues were detected.
A full report can be found here.

@KristofferC KristofferC merged commit 3f2c5a3 into release-1.9 Jun 30, 2023
@KristofferC KristofferC deleted the backports-release-1.9 branch June 30, 2023 10:41
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.