-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Conversation
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)
…ions. (cherry picked from commit 780ebea)
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)
@nanosoldier |
@nanosoldier |
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)
8906af3
to
727feea
Compare
Something went wrong when running your job:
Unfortunately, the logs could not be uploaded. |
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. |
@nanosoldier |
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. |
(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)
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.
727feea
to
fe216ae
Compare
…ease-1.7 release-1.7: Backports for 1.7.0/1.7.0-rc4
…ease-1.7 release-1.7: Backports for 1.7.0/1.7.0-rc4
Backported PRs:
map
andcollect
#43120Base.runtests
: rename the--force-net
option to--ci
#43168@testset
: with Xoshiro, restore Random.GLOBAL_SEED #43188IOContext
forPhiNodes
/:invoke
printing #43226Backported CI PRs:
Base.GIT_VERSION_INFO
: record the Buildkite commit that was used to build Julia #43073Need manual backport:
Non-merged PRs with backport label:
@simd
for non 1 step CartesianPartition #42736transpose
inLinearAlgebra.copy_transpose!
to handle matmul of isbits array-elements with non-identity transpose #42715