[FFmpeg-user] Illegal instruction while executing ffmpeg on powerpc

anshul anshul.ffmpeg at gmail.com
Tue Dec 17 14:05:46 CET 2013


On 12/17/2013 04:08 PM, Harninder Rai wrote:
> Hello Anshul,
>
> Here's the strace output
>
> execve("./ffmpeg", ["./ffmpeg"], [/* 8 vars */]) = 0
> brk(0)                                  = 0x10fce000
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4801f000
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
> open("/etc/ld.so.cache", O_RDONLY)      = -1 ENOENT (No such file or directory)
> open("/lib/tls/ppc8548/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
> stat64("/lib/tls/ppc8548", 0xbfb04e68)  = -1 ENOENT (No such file or directory)
> open("/lib/tls/libm.so.6", O_RDONLY)    = -1 ENOENT (No such file or directory)
> stat64("/lib/tls", 0xbfb04e68)          = -1 ENOENT (No such file or directory)
> open("/lib/ppc8548/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
> stat64("/lib/ppc8548", 0xbfb04e68)      = -1 ENOENT (No such file or directory)
> open("/lib/libm.so.6", O_RDONLY)        = 3
> read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\260@\0\0\0004"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=930795, ...}) = 0
> mmap(0xff06000, 955044, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xff06000
> mprotect(0xffdd000, 61440, PROT_NONE)   = 0
> mmap(0xffec000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd6000) = 0xffec000
> close(3)                                = 0
> open("/lib/librt.so.1", O_RDONLY)       = 3
> read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\32\0\0\0\0004"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=47198, ...}) = 0
> mmap(0xfedd000, 98816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfedd000
> mprotect(0xfee5000, 61440, PROT_NONE)   = 0
> mmap(0xfef4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0xfef4000
> close(3)                                = 0
> open("/lib/libpthread.so.0", O_RDONLY)  = 3
> read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0O\274\0\0\0004"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=127474, ...}) = 0
> mmap(0xfea3000, 168436, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfea3000
> mprotect(0xfeba000, 61440, PROT_NONE)   = 0
> mmap(0xfec9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0xfec9000
> mmap(0xfecb000, 4596, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfecb000
> close(3)                                = 0
> open("/lib/libc.so.6", O_RDONLY)        = 3
> read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\1\3718\0\0\0004"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=1695064, ...}) = 0
> mmap(0xfd15000, 1561860, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfd15000
> mprotect(0xfe7b000, 65536, PROT_NONE)   = 0
> mmap(0xfe8b000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x166000) = 0xfe8b000
> mmap(0xfe90000, 9476, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfe90000
> close(3)                                = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x48020000
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x48021000
> mprotect(0xfe8b000, 16384, PROT_READ)   = 0
> mprotect(0xfec9000, 4096, PROT_READ)    = 0
> mprotect(0xfef4000, 4096, PROT_READ)    = 0
> mprotect(0xffec000, 12288, PROT_READ)   = 0
> mprotect(0x4802f000, 4096, PROT_READ)   = 0
> set_tid_address(0x480206d8)             = 2759
> set_robust_list(0x480206e0, 12)         = 0
> futex(0xbfb05868, FUTEX_WAKE_PRIVATE, 1) = 0
> futex(0xbfb05868, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 0) = -1 EINVAL (Invalid argument)
> rt_sigaction(SIGRTMIN, {0xfea7b48, [], SA_SIGINFO}, NULL, 8) = 0
> rt_sigaction(SIGRT_1, {0xfea7a0c, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
> rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
> getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
> --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x1003c208} ---
> +++ killed by SIGILL +++
> Illegal instruction
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Hi Harry

I think while executing, you don't have privilege to set the stack 
limit, if you are already trying with
root user, then please look whether your linux support the changing the 
stack limit, I remember
some older version of Linux were not having this option

copied from manual
         RLIMIT_STACK
               The maximum size of the process stack, in bytes.  Upon 
reaching this limit, a SIGSEGV signal  is  generated.   To  handle this  
signal,  a
               process must employ an alternate signal stack 
(sigaltstack(2)).

               Since Linux 2.6.23, this limit also determines the amount 
of space used for the process's command-line arguments and environment 
variables;
               for details, see execve(2).


Thanks
Anshul


More information about the ffmpeg-user mailing list