cli-visualizer icon indicating copy to clipboard operation
cli-visualizer copied to clipboard

illegal hardware instruction thrown

Open devhell opened this issue 9 years ago • 5 comments

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!

devhell avatar Feb 09 '16 18:02 devhell

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.

dpayne avatar Feb 09 '16 18:02 dpayne

Here you go:

  • xterm v320
  • 64bit
  • NixOS
  • g++ v4.9.3

devhell avatar Feb 09 '16 18:02 devhell

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

dpayne avatar Feb 15 '16 18:02 dpayne

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.

lvsv avatar Dec 05 '18 15:12 lvsv

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```

tott avatar Dec 13 '18 23:12 tott