cli-visualizer
cli-visualizer copied to clipboard
illegal hardware instruction thrown
I'm getting an illegal hardware instruction when executing vis with or without a config file.
If you can let me know what you'd need for debugging purposes, I'd appreciate it. ;)
Thank you!
Well that is interesting. What terminal (e.g. xterm, iterm, urxvt), architecture (e.g. 32bit or 64 bit), and what linux distribution are you using?
Also if you can provide it, what version of g++ are you using? You can see it with g++ --version.
My initial guess is that the machine vis was built on has an older version of g++, but the above information would help to debug.
I've been unable to re-produced this although I don't have NixOS so it might have something to do with that. It's possible it has something to do with the libraries installed. Which versions of fftw and ncurses are installed?
If you have some time, would you mind running it through gdb and giving a stack trace? In order to get a proper stack trace you need to build it with debug mode make clean && make DEBUG=1. With debug enable there will also be more verbose logs under ~/.config/vis/vis.log.
If that still doesn't work, at last ditch effort would be to try building with clang.
export VIS_COMPILER=clang++
make clean && make
I have the same issue.
Archlinux x86_64
g++ (GCC) 8.2.1 20180831
rxvt-unicode-patched 9.22-10
cli-visualizer-git 1:470.508bbd6-1
Build with
build() {
cd cli-visualizer || exit
cmake ./
make clean && make DEBUG=1
}
Run under gdb
(gdb) run
Starting program: /usr/bin/vis
Program received signal SIGILL, Illegal instruction.
0x00005555555776ef in ?? ()
(gdb) backtrace
#0 0x00005555555776ef in ?? ()
#1 0x000055555556307c in ?? ()
#2 0x00007ffff7606223 in __libc_start_main () from /usr/lib/libc.so.6
#3 0x0000555555565afe in ?? ()
(gdb)
vis.log is empty.
Same here. Last messages from strace
mprotect(0x7f977f7ee000, 40960, PROT_READ) = 0
mprotect(0x7f977f9f2000, 69632, PROT_READ) = 0
mprotect(0x562835ab3000, 4096, PROT_READ) = 0
mprotect(0x7f977fa69000, 4096, PROT_READ) = 0
munmap(0x7f977fa06000, 242749) = 0
set_tid_address(0x7f977c72e3d0) = 1278
set_robust_list(0x7f977c72e3e0, 24) = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7f977ef57630, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f977ef638e0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7f977ef576d0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f977ef638e0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL) = 0x562835f1f000
brk(0x562835f40000) = 0x562835f40000
futex(0x7f977f7fb05c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f977f7fb068, FUTEX_WAKE_PRIVATE, 2147483647) = 0
openat(AT_FDCWD, "/home/XXX/.config/vis/vis.log", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
dup3(3, 2, 0) = 2
close(3) = 0
brk(0x562835f66000) = 0x562835f66000
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1683056, ...}) = 0
mmap(NULL, 1683056, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f977c590000
close(3) = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=26376, ...}) = 0
mmap(NULL, 26376, PROT_READ, MAP_SHARED, 3, 0) = 0x7f977fa3b000
close(3) = 0
futex(0x7f977f40ba08, FUTEX_WAKE_PRIVATE, 2147483647) = 0
--- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPN, si_addr=0x56283589b750} ---
+++ killed by SIGILL +++
[1] 1276 illegal hardware instruction strace vis```