-
-
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
Backports for 1.6-RC2 #39614
Backports for 1.6-RC2 #39614
Conversation
(cherry picked from commit 9fa97f9)
(cherry picked from commit 55baf8a)
Because we now store these strings in `libjulia-internal`, we need to call `stringreplace` on that library instead of `libjulia`. (cherry picked from commit 4c5d62b)
(cherry picked from commit 78c448f)
Locating a package with known uuid means the uuid was either found in a manifest in LOAD_PATH or a "package folder" in LOAD_PATH. However, looking up the package entrypoint fails for stdlibs that are not in the sysimage, even if they have been explicitly added to project/manifest by the user. This patch allows looking in Sys.STDLIB after stdlibs, fixes #39504. (cherry picked from commit 5d7e13f)
(cherry picked from commit 4a3537b)
Weird error on freebsd and aarch64:
|
That error happens on #39616 too |
Add p7zip_jll to precompile tests since Pkg depends on it now.
3e957e3
to
4558f47
Compare
Fixed by 352345c (which I squashed into the Pkg.jl bump commit in this PR). |
Could #39227 also be backported? It's just a C compiler warning, but I think there is some value in trying to be warning free. |
Xref JuliaGraphics/Gtk.jl#562 since Gtk.jl does not pass tests on Julia 1.6. |
Could #39671 be backported? |
Need something to show that this is an issue with Julia and not the package. A bisection would be a good way to progress on that. |
yes that would be helpful. My ping was not intended to say "there is a problem in Julia, fix that" but more giving you an extra data point of what issues are right now on Julia 1.6 in the package landscape. I will not find time to track this down in the near future. If Jameson (the original author of the code in question) finds time this would be of course cool. He is also the one who can judge best if the issue is in Julia or if the issue is some assumptions that the package made, which are simply not valid anymore (but were never intended to be valid). |
All of them are detected by JET.jl's self-profiling. The following code will print type-instabilities/type-errors for all code paths reachable from `typeinf(::NativeInterpreter, ::InferenceState)`. ```julia julia> using JET julia> report_call(Core.Compiler.typeinf, (Core.Compiler.NativeInterpreter, Core.Compiler.InferenceState); annotate_types = true) ``` The remaining error reports (e.g. `variable Core.Compiler.string is not defined`) are because of missing functionality on error paths. (cherry picked from part of commit 1bc7f43)
(cherry picked from commit a07089e)
(cherry picked from commit 9e58d46)
This only would matter if we transition a call from T -> Union{}, which is unlikely to happen, and even less likely to be observed, but it is more correct this way. (cherry picked from commit e67a3fd)
Previously, we might accidentally leave behind content in the fields that should not be there. For example: ``` julia> code_typed(() -> (TypeVar(:x),), (), optimize=false) 1-element Vector{Any}: CodeInfo( @ REPL[1]:1 within `#3' 1 ─ %1 = Main.TypeVar(:x)::Core.Compiler.PartialTypeVar(x, true, true) │ %2 = Core.tuple(%1)::Core.PartialStruct(Tuple{TypeVar}, Any[Core.Compiler.PartialTypeVar(x, true, true)]) └── return %2 ) => Tuple{TypeVar} julia> ans[1][1].rettype Core.PartialStruct(Tuple{TypeVar}, Any[Core.Compiler.PartialTypeVar(x, true, true)]) ``` (cherry picked from commit 7c8114c)
Applications typically shouldn't use this function in performance sensitive places, as it hints that their design is flawed, but might as well make it faster anyways. and optimize invokelatest kwcall too, while we are at it (cherry picked from commit 2ff110b)
- unused jl_iterate_func - cast type of realloc in jl_init_threading (cherry picked from commit 83bee67)
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt |
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt |
@nanosoldier |
* make copy correctly handle 0-dimensional SubArray The current definition of `copy` for `SubArray` [here](https://github.com/JuliaLang/julia/blob/master/base/subarray.jl#L70) has the following consequence: ``` julia> x = [1] 1-element Array{Int64,1}: 1 julia> y = @view x[1] 0-dimensional view(::Array{Int64,1}, 1) with eltype Int64: 1 julia> copy(y) 1 ``` which is inconsistent with the contract for `copy` that promises to produce an array when array is copied, e.g.: ``` julia> x = fill(1) 0-dimensional Array{Int64,0}: 1 julia> copy(x) 0-dimensional Array{Int64,0}: 1 ``` (cherry picked from commit a12d0ff)
This fixes the following: ``` julia> struct Symmetric{T,S<:AbstractMatrix{<:T}} <: AbstractMatrix{T} data::S uplo::Char end julia> struct Symmetric{T,S<:AbstractMatrix{<:T}} <: AbstractMatrix{T} data::S uplo::Char end ERROR: invalid redefinition of constant Symmetric ``` `Core._equiv_typedef` returns false which ends up triggering the error. (cherry picked from commit 6968e47)
When calling `make_interactive_report()`, we really need to pass in `ARGS` as well, otherwise it always starts an interactive session. This commit, in combination with `--` allows the user to run an `rr` session while still passing arguments to the child `julia` process via: ``` julia --bug-report=rr -- --project test/runtests.jl ``` (cherry picked from commit 5e7aaa6)
@nanosoldier |
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @christopher-dG |
backports #39875 to 1.6
c5fd602
to
d06bab0
Compare
This comment has been minimized.
This comment has been minimized.
The various memory regressions for the Dict benchmarks are due to changes in the RNG. In 1.5, an integer < 256 was generated for these and these are special because they come pre-boxed in Julia and don't need an allocation. In 1.6, the integer is instead > 256 and thus an allocation is needed. |
This comment has been minimized.
This comment has been minimized.
…ection2` (cherry picked from commit bbf14f8)
@nanosoldier |
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt |
Turns out libunwind was basically ignoring value locations on the platform, so that needed to be enabled. Should hopefully fix linux32 CI. (cherry picked from commit da9e12e)
Backported PRs:
Type{}
and diagonal #39525 - fix Varargs-related subtype abort #39521, obvious_subtype issue withType{}
and diagonalType{}
and diagonal #39525 - fix Varargs-related subtype abort #39521, obvious_subtype issue withType{}
and diagonalstringreplace
invocations #39567 - [build] Fix out-of-treestringreplace
invocationslet
when a global var is both shadowed and used in an RHS #39570 - fix bug inlet
when a global var is both shadowed and used in an RHSLIBPATH
andLIBPATH_list
at init-time #39591 - [p7zip_jll] SetLIBPATH
andLIBPATH_list
at init-timeARGS
through properly #39839 - [BugReporting] passARGS
through properlyNon-merged PRs with backport label:
ERROR: TypeVar in Vararg length must have bounds Union{} and Any
inTest.detect_ambiguities(ArrayInterface)
#39698 by disabling the unnecessary Vararg var bounds errorWorker
struct thread-safe. #38405 - Make Distributed.jlWorker
struct thread-safe.