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

release-1.7: Backports for 1.7.0/1.7.0-rc4 #43084

Merged
merged 24 commits into from
Nov 27, 2021
Merged

Conversation

KristofferC
Copy link
Member

@KristofferC KristofferC commented Nov 15, 2021

Backported PRs:

Backported CI PRs:

Need manual backport:

Non-merged PRs with backport label:

vtjnash and others added 5 commits November 15, 2021 10:50
Our Phi handling assumes that it can references undefined memory, and
get back legal results, but our PhiC nodes were not initialized, so the
Phi node might see uninitialized results, and then cause the GC to
crash. This was observed in PkgEval on the PoreMatMod.jl package to
occur in recent Julia versions and master.

(cherry picked from commit ec3ec02)
* Symlink 7z

* Simplify

Co-authored-by: Elliot Saba <staticfloat@gmail.com>

Co-authored-by: Elliot Saba <staticfloat@gmail.com>
(cherry picked from commit 5e2894b)
This patch includes two sets of changes.

(1) `jl_thread_suspend_and_get_state` uses `pthread_cond_timedwait` to
recover from the case where the request is not received by the signal
handler. This is required because `usr2_handler` contains some paths
for the case where it is not possible to obtain `ptls`.

(2) `ctx_switch` now makes sure to null out `ptls` of the last task
(`lastt->ptls = NULL`) after changing the current task by updating
pgcstack (`jl_set_pgcstack(&t->gcstack)`).  This closes the gap in
which `usr2_handler` can observe the null `ptls`.

Co-authored-by: Jameson Nash <vtjnash@gmail.com>
(cherry picked from commit 8131580)
@KristofferC KristofferC added the release Release management and versioning. label Nov 15, 2021
@KristofferC KristofferC requested a review from a team as a code owner November 25, 2021 20:26
@KristofferC
Copy link
Member Author

@nanosoldier runtests(ALL, vs=":release-1.7")

@KristofferC
Copy link
Member Author

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

vtjnash and others added 4 commits November 26, 2021 13:48
Previously, we were disallowing the opposite of the orders that we intended to disallow.

(cherry picked from commit 28c49ce)
Co-authored-by: Jameson Nash <vtjnash@gmail.com>
(cherry picked from commit d958c8c)
If connect(::CustomClusterManager, ...) returns a custom transport
stream, use of that stream by the task in start_gc_msgs_task() may fail
due to the task executing in an old world age. Add an invokelatest() to
prevent this problem.

(cherry picked from commit a05bcb2)
* Document that cfunctions should not throw errors

This was not documented, see https://discourse.julialang.org/t/what-happens-when-you-throw-an-error-from-a-cfunction/71510?u=simonbyrne

* Update doc/src/manual/calling-c-and-fortran-code.md

Co-authored-by: Jameson Nash <vtjnash@gmail.com>

Co-authored-by: Jameson Nash <vtjnash@gmail.com>
(cherry picked from commit 0722f3c)
@nanosoldier
Copy link
Collaborator

Something went wrong when running your job:

NanosoldierError: error when preparing/pushing to report repo: failed process: Process(setenv(`git push`; dir="/run/media/system/data/nanosoldier/workdir/NanosoldierReports"), ProcessExited(1)) [1]

Unfortunately, the logs could not be uploaded.

@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(["BytePairEncoding", "CategoricalDistributions", "CombinatorialSpaces", "DataDeps", "ElasticArrays", "ExtendableGrids", "Fread", "Glimmer", "GridapPardiso", "ImageInTerminal", "KeplerTools", "LazyBandedMatrices", "MLJParticleSwarmOptimization", "MemPool", "MeshPorter", "Minio", "OMEinsum", "OdsIO", "ParquetFiles", "Photometry", "Publish", "Reactive", "RemoteFiles", "SOM", "SimpleBufferStream", "StaticKernels", "TreeViewWidget", "VoronoiDelaunay"], vs = ":release-1.7")

@nanosoldier
Copy link
Collaborator

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

nalimilan and others added 9 commits November 26, 2021 21:22
`promote_typejoin_tuple` returned a type which was more precise
than the one which `map` and `collect` actually use via `promote_type`,
triggering an assertion error in corner cases.

(cherry picked from commit edea1de)
(cherry picked from commit f60736f)
Includes several fixes: JuliaLang/libuv@c6869fb...3a63bf7

(cherry picked from commit 04d486b)
The added condition improves compatiblity with Nix mtime.

(cherry picked from commit f5e0f9d)
Co-authored-by: Rafael Fourquet <fourquet.rafael@gmail.com>

Co-authored-by: Rafael Fourquet <fourquet.rafael@gmail.com>
(cherry picked from commit e9430c9)
A `@testset` is supposed to restore the "global RNG state" as
it was before execution (so that they can be re-ordered easily, etc.)
Also, before a testset starts, the default RNG is re-seeded with the
"global seed" (to help reproduce test failures).

Before `Xoshiro` as the default RNG, the "global seed" was stored
within a `MersenneTwister` object. It was enough for a testset to
copy the default RNG at the start, and copy it back at the end.
But now the global seed is stored outside of the RNG, so it should
also be restored separately.

(cherry picked from commit 08ea2d8)
aviatesk and others added 4 commits November 26, 2021 21:22
In order to allow `Argument`s to be printed nicely.

> before
```julia
julia> code_typed((Float64,)) do x
           sin(x)
       end
1-element Vector{Any}:
 CodeInfo(
1 ─ %1 = invoke Main.sin(_2::Float64)::Float64
└──      return %1
) => Float64

julia> code_typed((Bool,Any,Any)) do c, x, y
           z = c ? x : y
           z
       end
1-element Vector{Any}:
 CodeInfo(
1 ─      goto #3 if not c
2 ─      goto #4
3 ─      nothing::Nothing
4 ┄ %4 = φ (#2 => _3, #3 => _4)::Any
└──      return %4
) => Any
```

> after
```julia
julia> code_typed((Float64,)) do x
           sin(x)
       end
1-element Vector{Any}:
 CodeInfo(
1 ─ %1 = invoke Main.sin(x::Float64)::Float64
└──      return %1
) => Float64

julia> code_typed((Bool,Any,Any)) do c, x, y
           z = c ? x : y
           z
       end
1-element Vector{Any}:
 CodeInfo(
1 ─      goto #3 if not c
2 ─      goto #4
3 ─      nothing::Nothing
4 ┄ %4 = φ (#2 => x, #3 => y)::Any
└──      return %4
) => Any
```
This at least shows the argument types. In the future we may want
to add some logic to the errorshow code to improve this even further,
but good enough for now.
…) (#43241)

* Fix stack pointer retrieval in jl_backtrace_from_here (#42585)

Co-authored-by: Jameson Nash <vtjnash@gmail.com>
(cherry picked from commit 455236e)

* Avoid using call-site `@noinline`
@KristofferC KristofferC merged commit 213bf5f into release-1.7 Nov 27, 2021
@KristofferC KristofferC deleted the backports-release-1.7 branch November 27, 2021 07:40
vchuravy pushed a commit to JuliaLang/Distributed.jl that referenced this pull request Oct 6, 2023
…ease-1.7

release-1.7: Backports for 1.7.0/1.7.0-rc4
vchuravy pushed a commit to JuliaLang/Test.jl that referenced this pull request Oct 7, 2023
…ease-1.7

release-1.7: Backports for 1.7.0/1.7.0-rc4
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.