You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I made a repo to show this problem. Here's a copy of the current README:
This is a Julia repository to share a segfaulting problem. It's pretty simple, to cause the segfault, just do
Pkg.clone("https://github.com/ChrisRackauckas/BigsSegfault.jl")
using BigsSegfault
f(1.0,2.0)
The problem looks like it comes from Bigs inlining in precompilation. The entire package is:
__precompile__() ## Required in order to segfaultmodule BigsSegfault
const α =parse(BigFloat,"1.01")
f = (t,u) -> (α*u)
functionfmaker(α=1.0)
f(t,u) = α*u
return f
endexport f,α,fmaker
end# module
The reason I put this in a package is because the segfaults do not happen if precompilation is disabled, or if f is defined in a manner such that α does not inline [for example, using
functionfmaker(α=1.0)
f(t,u) = α*u
return f
end
and then using the f developed from there will not segfault].
using BigsSegfault
f2 =fmaker()
f2(1.0,2.0) # No segfault
Note that this segfault also requires Juno to be restarted (not just killing the current process, but the window has to be closed and re-opened).
This segfault problem also happens with inlined Rational{BigInt}, generic functions, and more. For more examples, check out the tests which are commented out in DifferentialEquations.jl with the mention "Bigs problem". Another example of this issue can be found on julia-users.
The text was updated successfully, but these errors were encountered:
I made a repo to show this problem. Here's a copy of the current README:
This is a Julia repository to share a segfaulting problem. It's pretty simple, to cause the segfault, just do
The problem looks like it comes from Bigs inlining in precompilation. The entire package is:
The reason I put this in a package is because the segfaults do not happen if precompilation is disabled, or if
f
is defined in a manner such that α does not inline [for example, usingand then using the
f
developed from there will not segfault].Note that this segfault also requires Juno to be restarted (not just killing the current process, but the window has to be closed and re-opened).
This segfault problem also happens with inlined Rational{BigInt}, generic functions, and more. For more examples, check out the tests which are commented out in DifferentialEquations.jl with the mention "Bigs problem". Another example of this issue can be found on julia-users.
The text was updated successfully, but these errors were encountered: