-
-
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
Sporadic test failure comparing extrema and minimum, maximum #54166
Comments
Seems to be due to a change to v1.10.1: julia> ex = Union{Missing, Int64}[missing -2; missing -2];
julia> dims = (1,2)
(1, 2)
julia> extrema(ex; dims)
1×1 Matrix{Tuple{Union{Missing, Int64}, Union{Missing, Int64}}}:
(missing, missing)
julia> minimum(ex; dims)
1×1 Matrix{Union{Missing, Int64}}:
missing
julia> maximum(ex; dims)
1×1 Matrix{Union{Missing, Int64}}:
missing
julia> versioninfo()
Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20:41 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 24 × AMD Ryzen 9 7900X 12-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 24 virtual cores)
Environment:
JULIA_PKG_USE_CLI_GIT = true v1.12: julia> ex = Union{Missing, Int64}[missing -2; missing -2];
julia> dims = (1,2)
(1, 2)
julia> extrema(ex; dims)
1×1 Matrix{Tuple{Union{Missing, Int64}, Union{Missing, Int64}}}:
(missing, missing)
julia> minimum(ex; dims)
1×1 Matrix{Union{Missing, Int64}}:
-2
julia> maximum(ex; dims)
1×1 Matrix{Union{Missing, Int64}}:
-2
julia> versioninfo()
Julia Version 1.12.0-DEV.306
Commit 0221ebc9b1 (2024-04-06 08:13 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: 24 × AMD Ryzen 9 7900X 12-Core Processor
WORD_SIZE: 64
LLVM: libLLVM-16.0.6 (ORCJIT, znver4)
Threads: 23 default, 1 interactive, 23 GC (on 24 virtual cores)
Environment:
JULIA_PKG_USE_CLI_GIT = true |
I bisected this to 8db1294
cc @vtjnash |
I think this is a codegen / inference bug because JuliaInterpreter gets it right: julia> using JuliaInterpreter
julia> @interpret minimum(ex; dims)
1×1 Matrix{Union{Missing, Int64}}:
missing
julia> minimum(ex; dims)
1×1 Matrix{Union{Missing, Int64}}:
-2 |
That seems possible. 8db1294 rewrote some of the memory load/store code to try to make it share more code with the other paths, but the way it stores the type selector bit and computes alignments is much different, so I might have missed a place that needed to be updated |
The test at
julia/test/reducedim.jl
Line 614 in aad7245
julia/test/reducedim.jl
Line 621 in aad7245
E.g.
I don't see this on
1.10.2
but I do on1.11.0-alpha1
,1.11.0-beta1
and master.The text was updated successfully, but these errors were encountered: