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

Incorrect results for convert(Float64,::Expression) and segfault for convert(BigFloat,::Expression) #615

Open
jarlebring opened this issue Jan 31, 2025 · 1 comment

Comments

@jarlebring
Copy link

A variable that is convertible to a Float64 should presumably also be convertible to BigFloat, or at least not segfault.

(@v1.11) pkg> status HomotopyContinuation
Status `~/.julia/environments/v1.11/Project.toml`
  [f213a82b] HomotopyContinuation v2.12.0

julia> using HomotopyContinuation

julia> @var x; s=x+1-x;

julia> s
1

julia> typeof(s)
Expression

julia> convert(Float64,s)
2.1219957915e-314

julia> convert(BigFloat,s)

[610525] signal 11 (1): Segmentation fault
in expression starting at REPL[10]:1
mpfr_set4 at /workspace/srcdir/mpfr-4.2.1/src/set.c:59
real_mpfr_get at /home/jarl/.julia/artifacts/7b99956590f90a608ded76e0757af76a17f8289a/lib/libsymengine.so (unknown line)
convert at /home/jarl/.julia/packages/HomotopyContinuation/HdN5z/src/model_kit/symengine.jl:705
unknown function (ip: 0x7f22d0193d43)
jl_apply at /cache/build/builder-amdci5-1/julialang/julia-master/src/julia.h:2157 [inlined]
do_call at /cache/build/builder-amdci5-1/julialang/julia-master/src/interpreter.c:126
eval_value at /cache/build/builder-amdci5-1/julialang/julia-master/src/interpreter.c:223
eval_stmt_value at /cache/build/builder-amdci5-1/julialang/julia-master/src/interpreter.c:174 [inlined]
eval_body at /cache/build/builder-amdci5-1/julialang/julia-master/src/interpreter.c:663
jl_interpret_toplevel_thunk at /cache/build/builder-amdci5-1/julialang/julia-master/src/interpreter.c:821
jl_toplevel_eval_flex at /cache/build/builder-amdci5-1/julialang/julia-master/src/toplevel.c:943
jl_toplevel_eval_flex at /cache/build/builder-amdci5-1/julialang/julia-master/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/builder-amdci5-1/julialang/julia-master/src/toplevel.c:994
eval at ./boot.jl:430 [inlined]
eval_user_input at /cache/build/builder-amdci5-1/julialang/julia-master/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:226
repl_backend_loop at /cache/build/builder-amdci5-1/julialang/julia-master/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:323
#start_repl_backend#59 at /cache/build/builder-amdci5-1/julialang/julia-master/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:308
start_repl_backend at /cache/build/builder-amdci5-1/julialang/julia-master/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:305

@jarlebring
Copy link
Author

In fact convert for Float64 also does not work as expected

julia> @var x; s=x+1-x;
julia> s
1
julia> Float64(s)
1.0
julia> convert(Float64,s)
2.1219957915e-314
julia> BigFloat(s)
1.0

@jarlebring jarlebring changed the title conversion of Expression -> BigFloat segfaults Incorrect results for convert(Float64,::Expression) and segfault for convert(BigFloat,::Expression) Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant