Skip to content

Segmentation fault during native BigFloat to Float32 conversion #51111

Closed
@maleadt

Description

@maleadt

MWE:

Foo.jl

module Foo
bar() = convert(Float32, big"1.582533518939116418785258993332844897062")
end
$ JULIA_LOAD_PATH=. julia -e 'using Foo; Foo.bar()'
[1054346] signal (11.1): Segmentation fault
in expression starting at none:1
unsafe_load at ./pointer.jl:119 [inlined]
get_elem at ./rawbigints.jl:30 [inlined]
get_elem at ./rawbigints.jl:35 [inlined]
truncated at ./rawbigints.jl:115
to_ieee754 at ./mpfr.jl:441
Float32 at ./mpfr.jl:468 [inlined]
Float32 at ./mpfr.jl:468 [inlined]
convert at ./number.jl:7 [inlined]
bar at /home/tim/Julia/tools/creduce/Foo.jl:2
unknown function (ip: 0x7fd567700102)
_jl_invoke at /home/tim/Julia/src/julia/src/gf.c:2873 [inlined]
ijl_apply_generic at /home/tim/Julia/src/julia/src/gf.c:3074
jl_apply at /home/tim/Julia/src/julia/src/julia.h:1970 [inlined]
do_call at /home/tim/Julia/src/julia/src/interpreter.c:125
eval_value at /home/tim/Julia/src/julia/src/interpreter.c:222
eval_stmt_value at /home/tim/Julia/src/julia/src/interpreter.c:173 [inlined]
eval_body at /home/tim/Julia/src/julia/src/interpreter.c:634
jl_interpret_toplevel_thunk at /home/tim/Julia/src/julia/src/interpreter.c:774
jl_toplevel_eval_flex at /home/tim/Julia/src/julia/src/toplevel.c:934
jl_toplevel_eval_flex at /home/tim/Julia/src/julia/src/toplevel.c:877
jl_toplevel_eval_flex at /home/tim/Julia/src/julia/src/toplevel.c:877
ijl_toplevel_eval_in at /home/tim/Julia/src/julia/src/toplevel.c:985
eval at ./boot.jl:383 [inlined]
exec_options at ./client.jl:290
_start at ./client.jl:552
jfptr__start_83124 at /home/tim/Julia/src/julia/build/dev/usr/lib/julia/sys.so (unknown line)
_jl_invoke at /home/tim/Julia/src/julia/src/gf.c:2873 [inlined]
ijl_apply_generic at /home/tim/Julia/src/julia/src/gf.c:3074
jl_apply at /home/tim/Julia/src/julia/src/julia.h:1970 [inlined]
true_main at /home/tim/Julia/src/julia/src/jlapi.c:582
jl_repl_entrypoint at /home/tim/Julia/src/julia/src/jlapi.c:731
main at /home/tim/Julia/src/julia/cli/loader_exe.c:58
unknown function (ip: 0x7fd568027ccf)
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
_start at /home/tim/Julia/src/julia/build/dev/julia (unknown line)
Allocations: 2927 (Pool: 2918; Big: 9); GC: 0

Bisected to #50691, cc @nsajko.

This affects a couple of packages on PkgEval, e.g., https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_date/2023-08/29/Modia.primary.log, https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_date/2023-08/29/StochasticRounding.primary.log, https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_date/2023-08/29/PostNewtonian.primary.log, https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_date/2023-08/29/SummationByPartsOperators.primary.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    regressionRegression in behavior compared to a previous version

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions