Open petterreinholdtsen opened 1 year ago
I adjusted the build to include debug symbols in the binary, and got this backtrace:
Program received signal SIGILL, Illegal instruction.
b0x00007ffff7cc8b9b in _cvtsh_ss (__S=0)
at /usr/lib/gcc/x86_64-linux-gnu/12/include/f16cintrin.h:41
41 __v4sf __A = __builtin_ia32_vcvtph2ps (__H);
(gdb) bt
#0 0x00007ffff7cc8b9b in _cvtsh_ss (__S=0)
at /usr/lib/gcc/x86_64-linux-gnu/12/include/f16cintrin.h:41
#1 ggml_init (params=...) at /home/user/whisper.cpp/ggml.c:3020
#2 0x00007ffff7ce2fa6 in whisper_model_load (loader=0x7fffffffdf60, wctx=...)
at /home/user/whisper.cpp/whisper.cpp:1050
#3 0x00007ffff7cebd44 in whisper_init_no_state (loader=0x7fffffffdf60)
at /home/user/whisper.cpp/whisper.cpp:2683
#4 0x00007ffff7ceba7f in whisper_init_from_file_no_state (
path_model=0x55555562edc0 "model-medium/ggml-model.bin")
at /home/user/whisper.cpp/whisper.cpp:2633
#5 0x00007ffff7cebde2 in whisper_init_from_file (
path_model=0x55555562edc0 "model-medium/ggml-model.bin")
at /home/user/whisper.cpp/whisper.cpp:2696
#6 0x00005555555baec9 in main (argc=4, argv=0x7fffffffe3b8)
at /home/user/whisper.cpp/examples/main/main.cpp:706
(gdb)
I've been told https://wiki.debian.org/InstructionSelection contain some ideas how to fix this.
Incidentally, I got the exact same error on an Intel(R) Core(TM) i7-3770 (using gcc 12.2.1).
However, after running make clean
and make
again, the error vanished. So maybe some leftovers from previous compiles?
[papperlapapp]
However, after running
make clean
andmake
again, the error vanished. So maybe some leftovers from previous compiles?
I on the other hand could get a bit further by using 'cmake -DWHISPER_NO_F16C=1', to try to disable the code that crash. Sadly I ran into another segfault I have not had time to debug yet.
-- Happy hacking Petter Reinholdtsen
I tried running whisper.cpp on a Thinkpad X220 today, and the program crash with SIGILL.
Is there some inline assembly assuming a newer CPU?