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 release 1.3.1 #33979

Merged
merged 18 commits into from
Dec 19, 2019
Merged

Backports release 1.3.1 #33979

merged 18 commits into from
Dec 19, 2019

Conversation

KristofferC
Copy link
Sponsor Member

@KristofferC KristofferC commented Nov 29, 2019

Backported PRs:

Need manual backport:

Contains multiple commits, manual intervention needed:

Non-merged PRs with backport label:

@KristofferC KristofferC added the DO NOT MERGE Do not merge this PR! label Nov 29, 2019
@maleadt
Copy link
Member

maleadt commented Dec 3, 2019

Did a manual NewPkgEval run with 1.2, 1.3 and 7704df0: https://maleadt.github.io/NewPkgEval.jl/

The following packages failed tests on this branch (a couple of others started failing with 1.3, but I've left those out):

@fredrikekre
Copy link
Member

@StefanKarpinski, @staticfloat: AsyPlots fails with a tree hash mismatch on this branch but not on 1.3.0 😕 :

┌ Error: Tree Hash Mismatch!
│   Expected git-tree-sha1:   e80d1b7446d31c7738ed51fda764944d4bf1fcbe
│   Calculated git-tree-sha1: b37f6296f6e49bb2d602909f058cefbac9cdaa6e
└ @ Pkg.Artifacts /workspace/srcdir/julia/usr/share/julia/stdlib/v1.3/Pkg/src/Artifacts.jl:775
ERROR: Unable to automatically install 'FreeType2' from '/root/.julia/packages/FreeType2_jll/BxhKx

@KristofferC
Copy link
Sponsor Member Author

Most of them are hash errors.

staticfloat added a commit to JuliaLang/Pkg.jl that referenced this pull request Dec 3, 2019
When testing for directories to exclude from hashing, we must exclude
not only empty directories, but also directories that themselves contain
nothing but empty directories; in essence, we suppress adding
directories that have no files contained within their entire subtree.

While fixing this, it seemed prudent to eliminate the `names` argument
to `tree_hash()`, especially as it was not actually used to iterate
over.

Fixes JuliaLang/julia#33979 (comment)
@KristofferC
Copy link
Sponsor Member Author

Revise: passes locally
Autologistics: passed locally
SMM: passed locally
FFmpegPipe passed locally:
JuDoc: the test version guard in tlienart/Franklin.jl@52f0ce2 is incorrect

fredrikekre pushed a commit to JuliaLang/Pkg.jl that referenced this pull request Dec 3, 2019
When testing for directories to exclude from hashing, we must exclude
not only empty directories, but also directories that themselves contain
nothing but empty directories; in essence, we suppress adding
directories that have no files contained within their entire subtree.

While fixing this, it seemed prudent to eliminate the `names` argument
to `tree_hash()`, especially as it was not actually used to iterate
over.

Fixes JuliaLang/julia#33979 (comment)

(cherry picked from commit 648d66c, PR #1522)
@StefanKarpinski
Copy link
Sponsor Member

Looks like most failures were the tree hashing bug I introduced while fixing the other tree hashing bug. Better now?

@maleadt
Copy link
Member

maleadt commented Dec 3, 2019

I'll rerun.

@KristofferC
Copy link
Sponsor Member Author

Wait, this branch isn't updated yet, no?

@maleadt
Copy link
Member

maleadt commented Dec 3, 2019

Wait, this branch isn't updated yet, no?

Oh right, it's only a mention not yet a commit on this branch. Thanks!

@KristofferC
Copy link
Sponsor Member Author

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

@fredrikekre
Copy link
Member

Updated.

@nanosoldier
Copy link
Collaborator

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

@KristofferC
Copy link
Sponsor Member Author

Should check #34013 here.

@daviehh
Copy link
Contributor

daviehh commented Dec 3, 2019

@KristofferC Thanks! Re: #34013, looks like backports-release-1.3 is affected too:

using LinearAlgebra
using BenchmarkTools

ndim = 3

m1 = rand(ComplexF64,ndim,ndim);
m2 = rand(ComplexF64,ndim,ndim);
ou = rand(ComplexF64,ndim,ndim);

@btime mul!($ou, $m1, $m2);

returns

386.193 ns (1 allocation: 16 bytes)

with

julia> versioninfo()
Julia Version 1.3.1-pre.14
Commit 1a6baefb51* (2019-12-03 15:40 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.0.0)
  CPU: Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)

whereas release-1.3 version:

33.471 ns (0 allocations: 0 bytes)

Edit

Likely happened some time between mul!/gemm_wrapper! and matmul3x3!:

@btime LinearAlgebra.gemm_wrapper!($ou, $t, $t, $m1, $m2, 1.2, .5im)

388.228 ns (3 allocations: 80 bytes)

ad = LinearAlgebra.MulAddMul(1.2, 0.5im)
t = 'N'
@btime LinearAlgebra.matmul3x3!($ou, $t, $t, $m1, $m2, $ad)

48.857 ns (0 allocations: 0 bytes)

But there's not much between:

function gemm_wrapper!(C::StridedVecOrMat{T}, tA::AbstractChar, tB::AbstractChar,
A::StridedVecOrMat{T}, B::StridedVecOrMat{T},
α::Number=true, β::Number=false) where {T<:BlasFloat}
mA, nA = lapack_size(tA, A)
mB, nB = lapack_size(tB, B)
if nA != mB
throw(DimensionMismatch("A has dimensions ($mA,$nA) but B has dimensions ($mB,$nB)"))
end
if C === A || B === C
throw(ArgumentError("output matrix must not be aliased with input matrix"))
end
if mA == 0 || nA == 0 || nB == 0 || iszero(α)
if size(C) != (mA, nB)
throw(DimensionMismatch("C has dimensions $(size(C)), should have ($mA,$nB)"))
end
return _rmul_or_fill!(C, β)
end
if mA == 2 && nA == 2 && nB == 2
return matmul2x2!(C, tA, tB, A, B, MulAddMul(α, β))
end
if mA == 3 && nA == 3 && nB == 3
return matmul3x3!(C, tA, tB, A, B, MulAddMul(α, β))
end


more:

t = 'N'
al = 1.2
bt = .5im
@btime LinearAlgebra.matmul3x3!($ou, $t, $t, $m1, $m2, LinearAlgebra.MulAddMul($al, $bt))
@btime LinearAlgebra.matmul3x3!($ou, $t, $t, $m1, $m2, LinearAlgebra.MulAddMul(1.2, .5im))

returns:

359.817 ns (3 allocations: 80 bytes)
48.784 ns (0 allocations: 0 bytes)

@fredrikekre
Copy link
Member

#33743 then maybe

@KristofferC KristofferC changed the title WIP: Backports release 1.3 WIP: Backports release 1.3.1 Dec 4, 2019
staticfloat and others added 7 commits December 4, 2019 11:45
This avoids cases where getMostGenericTBAA could return broken answers.

fix #33590

(cherry picked from commit 1ae9902)
More cases similar to those identified in #23914
fix #33899

(cherry picked from commit e1086fe)
We were releasing this lock a bit too early, before we finished with using `buf`.

(cherry picked from commit 60ec5f3)
This fixes problems with binaries on these two platforms that often use
these large page sizes.

(cherry picked from commit 5ceed92)
@maleadt
Copy link
Member

maleadt commented Dec 6, 2019

w00t, the first successfull PkgEval@Nanosoldier run: maleadt@ac555be#commitcomment-36287280 (on ac555be):

Your test job has completed - possible new issues were detected. A full report can be found here. cc @maleadt

Still in development and only triggered on my fork though.

EDIT, better formatted output: https://github.com/maleadt/BasePkgEvalReports/blob/master/ac555be_vs_46ce4d7/report.md

@maleadt
Copy link
Member

maleadt commented Dec 8, 2019

@nanosoldier runtests(ALL, vs = "JuliaLang/julia#v1.3.0")

@maleadt
Copy link
Member

maleadt commented Dec 8, 2019

Your test job has completed - possible new issues were detected. A full report can be found here. cc @maleadt

@KristofferC
Copy link
Sponsor Member Author

@nanosoldier runtests(["ApproxFunOrthogonalPolynomials" ,"BlackBoxOptim" ,"ChaosTools" ,"GlobalSensitivityAnalysis" ,"Graphics" ,"HyperDualMatrixTools" ,"IdentityRanges", "ImageCore" ,"NeuralNetDiffEq" ,"OffsetArrays" ,"PowerModels" ,"Reactive" ,"TensorNetworkAD" ,"UncertainData"], vs = "JuliaLang/julia#v1.3.0")

@maleadt
Copy link
Member

maleadt commented Dec 11, 2019

Your test job has completed - possible new issues were detected. A full report can be found here. cc @maleadt

@KristofferC
Copy link
Sponsor Member Author

UncertainData.jl passed locally.

This should be good to go.

fredrikekre and others added 4 commits December 11, 2019 14:49
* Fix colon-reshaping of OffsetVector
* reshape(::AbstractVector, ::Colon) is a no-op

(cherry picked from commit f80c3ee)
vtjnash and others added 5 commits December 17, 2019 13:45
* ccall: report static compile-time load issues correctly

fix #34061

* add a test

* Update ccall.jl

(cherry picked from commit 8a47793)
This was introduced in: e2821f594c5e9b2ec0fa1603f4e90628d2e40cd7

Package managers track which package owns a file, and if the
icon-theme.cache is owned by Julia, the package manager will get
confused when that file already exists on the system or when another
process overwrites it.

It's the DE's job to update that cache.

(cherry picked from commit 8bef999)
This handles cases like `Type{<:Tuple{A}} <: Type{Tuple{Vararg{_,N} where N}}`,
i.e. where a fixed-length tuple type cannot ever equal an indefinite-length
tuple type.
@maleadt
Copy link
Member

maleadt commented Dec 17, 2019

@nanosoldier runtests(ALL, vs = "JuliaLang/julia#v1.3.0")

@nanosoldier
Copy link
Collaborator

Your test job has completed - possible new issues were detected. A full report can be found here. cc @maleadt

@KristofferC
Copy link
Sponsor Member Author

KristofferC commented Dec 18, 2019

Interval Intersection: Test Failed at /home/pkgeval/.julia/packages/IntervalTrees/wh2ex/test/runtests.jl:331
  Expression: !((IntervalTrees.firstintersection(t.root, Interval(4, 4), Interval(2, 2)))[1] === nothing)
   Evaluated: !(nothing === nothing)

I'm pretty sure I have seen this happened before, so don't think it is a regression with 1.3.1.

Other than that, anything that looked suspicious passed locally.

@KristofferC
Copy link
Sponsor Member Author

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

@nanosoldier
Copy link
Collaborator

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

@ararslan ararslan added release Release management and versioning. and removed DO NOT MERGE Do not merge this PR! labels Dec 19, 2019
@ararslan ararslan added this to the 1.3 milestone Dec 19, 2019
@ararslan ararslan changed the title WIP: Backports release 1.3.1 Backports release 1.3.1 Dec 19, 2019
@ararslan ararslan merged commit 90620af into release-1.3 Dec 19, 2019
@StefanKarpinski StefanKarpinski deleted the backports-release-1.3 branch December 19, 2019 19:54
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.