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

Float128(Float64(pi)) crashes REPL #6

Open
JeffreySarnoff opened this issue Jul 3, 2020 · 4 comments
Open

Float128(Float64(pi)) crashes REPL #6

JeffreySarnoff opened this issue Jul 3, 2020 · 4 comments

Comments

@JeffreySarnoff
Copy link

Float128( x ) where x is a Float64 makes the REPL go away.
Float80( x ) does not have that issue.

@rfourquet
Copy link
Owner

rfourquet commented Jul 3, 2020

Is there any error message by any chance, like from LLVM?

@JeffreySarnoff
Copy link
Author

(lines scroll very fast and then the REPL window closes itself), redirecting the output I get

julia -e"using BitFloats; a=0.5; b=Float128(a);" >> out.txt
on Julia 1.4.1

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x6144be3c -- _extenddftf2 at C:\Users\jas\AppData\Local\Programs\Julia\Julia-1.4.0\bin\libgcc_s_seh-1.dll (unknown line)
in expression starting at none:1
_extenddftf2 at C:\Users\jas\AppData\Local\Programs\Julia\Julia-1.4.0\bin\libgcc_s_seh-1.dll (unknown line)
Float128 at C:\Users\jas\.julia\packages\BitFloats\qTO7E\src\BitFloats.jl:336
unknown function (ip: 000000001D9B7274)
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1700 [inlined]
do_call at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:369
eval_value at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:458
eval_stmt_value at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:409 [inlined]
eval_body at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:799
jl_interpret_toplevel_thunk at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:911
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:814
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:764
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:764
jl_toplevel_eval at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:823 [inlined]
jl_toplevel_eval_in at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:843
eval at .\boot.jl:331
exec_options at .\client.jl:264
_start at .\client.jl:484
jfptr__start_2087.clone_1 at C:\Users\jas\AppData\Local\Programs\Julia\Julia-1.4.0\lib\julia\sys.dll (unknown line)
unknown function (ip: 00000000004017E1)
unknown function (ip: 0000000000401BD6)
unknown function (ip: 00000000004013DE)
unknown function (ip: 000000000040151A)
BaseThreadInitThunk at C:\WINDOWS\System32\KERNEL32.DLL (unknown line)
RtlUserThreadStart at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)
Allocations: 807581 (Pool: 807371; Big: 210); GC: 1

and again on Julia v1.6-DEV

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x6144a625 -- _unordtf2 at C:\Users\jas\AppData\Local\Programs\Julia 1.6.0\bin\libgcc_s_seh-1.dll (unknown line)
in expression starting at none:0
_unordtf2 at C:\Users\jas\AppData\Local\Programs\Julia 1.6.0\bin\libgcc_s_seh-1.dll (unknown line)
!= at C:\Users\jas\.julia\packages\BitFloats\qTO7E\src\BitFloats.jl:527 [inlined]
isnan at .\float.jl:536 [inlined]
show at C:\Users\jas\.julia\packages\BitFloats\qTO7E\src\BitFloats.jl:654
show at .\multimedia.jl:47
unknown function (ip: 000000001DEBCACB)
display at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:214
display at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:218
display at .\multimedia.jl:328
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1701 [inlined]
do_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:655
jl_f__apply at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:669 [inlined]
jl_f__apply_latest at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:705
#invokelatest#1 at .\essentials.jl:710 [inlined]
invokelatest at .\essentials.jl:709 [inlined]
print_response at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:238
print_response at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:223
do_respond at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:822
jfptr_do_respond_63642.clone_1 at C:\Users\jas\AppData\Local\Programs\Julia 1.6.0\lib\julia\sys.dll (unknown line)
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1701 [inlined]
do_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:655
jl_f__apply at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:669 [inlined]
jl_f__apply_latest at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:705
#invokelatest#1 at .\essentials.jl:710 [inlined]
invokelatest at .\essentials.jl:709 [inlined]
run_interface at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\LineEdit.jl:2354
jfptr_run_interface_62006.clone_1 at C:\Users\jas\AppData\Local\Programs\Julia 1.6.0\lib\julia\sys.dll (unknown line)
run_frontend at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\REPL\src\REPL.jl:1143
#38 at .\task.jl:358
unknown function (ip: 000000001DEB20D3)
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1701 [inlined]
start_task at /cygdrive/d/buildbot/worker/package_win64/build/src\task.c:707
Allocations: 6845464 (Pool: 6844410; Big: 1054); GC: 9

@JeffreySarnoff
Copy link
Author

I entered an issue with julia on github.

@JeffreySarnoff
Copy link
Author

from Yichao's informative comment JuliaLang/julia#36528 (comment) f

Actually according to clang __float128 is just not supported on win64. And LLVM is not even trying to match the GCC ABI of __extenddftf2 and is actually passing everything in registers. Either clang+llvm should be fixed to support __float128 or BitFloats needs to manually call the correct function. The latter is what https://github.com/JuliaMath/Quadmath.jl/blob/master/src/Quadmath.jl#L129 is doing.
I don't think there's anything to be done in julia for this issue...

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

2 participants