-
-
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
Segfault in __gmpn_mul_basecase_zen
on 1.8
#45777
Comments
Creduce gives the following repo: using LinearAlgebra
function hsplit(b, c)
view(b, :, 1:c), b
end
struct PLUQ{a, b }
c
rank
factors end
function PLUQ(c , d, e::a) where a
PLUQ{a,o}(vec, d, e)
end
function Base.getproperty(f::PLUQ, key::Symbol)
if key == :g
getfield(f, :factors)
elseif key == :i
d = getfield(f, :rank)
getfield(f, :factors)[d+1:end ]
else
getfield(f, key)
end
end
Base.iterate(b::PLUQ) = b
Base.iterate(b::PLUQ, :) = b.g, Val(:)
Base.iterate(b::PLUQ, ::Val) = b.g, Val(:h)
Base.iterate(b::PLUQ, ::Val{:h}) = b, Val(:i)
Base.iterate(b::PLUQ, ::Val{:i}) = b.i, 0
function f(b)
h, j, k, g, m = PLUQ([], 1, b)
m, k
end
function o(b)
i = [I ; b]
i, i
end
function grr(b, s)
m, t = f([b ; s])
a, p = view(m, : ), view(m, : )
v, ab = o(p)
ac = ab / ab
ad, ae = hsplit(ac, - size(v,2))
ai = view(ae, : )
_, al = o(ai)
am = zeros(Int64, size(al, 1), size(ad,2))
[ad ai ; am al] * t
end
A = Matrix{Rational{BigInt}}(undef, 0,1 )
B = big"1"
grr(A, B) |
also seems to work on master already, so we may be able to bisect this?
but we actually assumed it was calling
and MPFR doesn't like that we had a BigInt where there should have been a BigFloat in |
master (correct)
v1.8 (incorrect)
This bug is probably identical to #44705 |
https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_hash/8b2e406_vs_742b9ab/RankRevealing.primary.log
The code below works when run in the Debugger but crashes when run with compiled mode. Works on 1.7.
I'll try reducing it a bit more and see if someone is doing something fishy.
The text was updated successfully, but these errors were encountered: