[FFmpeg-trac] #3370(undetermined:new): SIGILL (Illegal instruction) when transcoding with libvpx-vp9
FFmpeg
trac at avcodec.org
Mon Feb 3 19:41:45 CET 2014
#3370: SIGILL (Illegal instruction) when transcoding with libvpx-vp9
-------------------------------------+-------------------------------------
Reporter: jbvsmo | Type: defect
Status: new | Priority: normal
Component: | Version: git-
undetermined | master
Keywords: vp9 | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
I updated to latest version of libvpx and to test VP9 transcoding.
With any video I try, the process receive a SIGILL (Illegal instruction)
and aborts immediately.
How to reproduce:
{{{
$ gdb --args ~/ffmpeg/ffmpeg/ffmpeg_g -i CCD.mp4 -c:v vp9 CCD.webm
GNU gdb (GDB) 7.6.1-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/jb/ffmpeg/ffmpeg/ffmpeg_g...done.
(gdb) r
Starting program: /home/jb/ffmpeg/ffmpeg/ffmpeg_g -i CCD.mp4 -c:v vp9
CCD.webm
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ffmpeg version N-49452-ge9314f1 Copyright (c) 2000-2014 the FFmpeg
developers
built on Feb 3 2014 15:01:17 with gcc 4.8 (Ubuntu/Linaro
4.8.1-10ubuntu9)
configuration: --enable-gpl --enable-libass --enable-libfaac --enable-
libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libspeex --enable-librtmp --enable-libtheora
--enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264
--enable-nonfree --enable-version3 --enable-libfreetype --enable-shared
libavutil 52. 63.100 / 52. 63.100
libavcodec 55. 49.101 / 55. 49.101
libavformat 55. 29.101 / 55. 29.101
libavdevice 55. 7.100 / 55. 7.100
libavfilter 4. 1.102 / 4. 1.102
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'CCD.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2012-05-12 20:34:23
Duration: 00:04:26.00, start: 0.000000, bitrate: 1299 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
1280x720, 1145 kb/s, 29.97 fps, 29.97 tbr, 60k tbn, 59.94 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo,
fltp, 151 kb/s (default)
Metadata:
creation_time : 2012-05-12 20:34:23
handler_name : IsoMedia File Produced by Google, 5-11-2011
[New Thread 0x7fffec9c3700 (LWP 11550)]
[New Thread 0x7fffec1c2700 (LWP 11551)]
[New Thread 0x7fffeb9c1700 (LWP 11552)]
[New Thread 0x7fffeb1c0700 (LWP 11553)]
[New Thread 0x7fffea9bf700 (LWP 11554)]
[New Thread 0x7fffea1be700 (LWP 11555)]
[New Thread 0x7fffe99bd700 (LWP 11556)]
[New Thread 0x7fffe91bc700 (LWP 11557)]
[New Thread 0x7fffe89bb700 (LWP 11558)]
[New Thread 0x7fffe81ba700 (LWP 11559)]
[libvpx-vp9 @ 0x6f54c0] v1.3.0-907-gc0856b9
[New Thread 0x7fffdf759700 (LWP 11560)]
[New Thread 0x7fffdef58700 (LWP 11561)]
[New Thread 0x7fffde757700 (LWP 11562)]
[New Thread 0x7fffddf56700 (LWP 11563)]
[New Thread 0x7fffdd755700 (LWP 11564)]
Output #0, webm, to 'CCD.webm':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
encoder : Lavf55.29.101
Stream #0:0(und): Video: vp9 (libvpx-vp9), yuv420p, 1280x720, q=-1--1,
200 kb/s, 1k tbn, 29.97 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp
(default)
Metadata:
creation_time : 2012-05-12 20:34:23
handler_name : IsoMedia File Produced by Google, 5-11-2011
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libvpx-vp9)
Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
Program received signal SIGILL, Illegal instruction.
0x00007ffff2e63c77 in ?? () from /usr/local/lib/libvpx.so.1
(gdb) bt
#0 0x00007ffff2e63c77 in ?? () from /usr/local/lib/libvpx.so.1
#1 0x00007ffff2da8d44 in ?? () from /usr/local/lib/libvpx.so.1
#2 0x00007ffff2dc9a8b in ?? () from /usr/local/lib/libvpx.so.1
#3 0x00007ffff2dcca15 in ?? () from /usr/local/lib/libvpx.so.1
#4 0x00007ffff2dccf8b in ?? () from /usr/local/lib/libvpx.so.1
#5 0x00007ffff2dd32ce in ?? () from /usr/local/lib/libvpx.so.1
#6 0x00007ffff2d9ba32 in ?? () from /usr/local/lib/libvpx.so.1
#7 0x00007ffff2da3a55 in ?? () from /usr/local/lib/libvpx.so.1
#8 0x00007ffff2da5658 in ?? () from /usr/local/lib/libvpx.so.1
#9 0x00007ffff2dc2e06 in ?? () from /usr/local/lib/libvpx.so.1
#10 0x00007ffff2dc4dee in ?? () from /usr/local/lib/libvpx.so.1
#11 0x00007ffff2d8474c in ?? () from /usr/local/lib/libvpx.so.1
#12 0x00007ffff2cf3848 in vpx_codec_encode () from
/usr/local/lib/libvpx.so.1
#13 0x00007ffff67c892c in ?? () from /usr/local/lib/libavcodec.so.55
#14 0x00007ffff692a9d2 in avcodec_encode_video2 () from
/usr/local/lib/libavcodec.so.55
#15 0x000000000041de34 in do_video_out (in_picture=0x10c81a0,
ost=0x6f7140, s=0x64a8a0) at ffmpeg.c:997
#16 reap_filters () at ffmpeg.c:1157
#17 0x0000000000407f27 in transcode_step () at ffmpeg.c:3373
#18 transcode () at ffmpeg.c:3416
#19 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:3596
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x7ffff2e63c57 to 0x7ffff2e63c97:
0x00007ffff2e63c57: rex.B pshufw $0xe,%mm0,%mm7
0x00007ffff2e63c5c: pmaxsw %xmm7,%xmm8
0x00007ffff2e63c61: pshuflw $0xe,%xmm8,%xmm7
0x00007ffff2e63c67: pmaxsw %xmm7,%xmm8
0x00007ffff2e63c6c: pshuflw $0x1,%xmm8,%xmm7
0x00007ffff2e63c72: pmaxsw %xmm7,%xmm8
=> 0x00007ffff2e63c77: pextrw $0x0,%xmm8,(%rdx)
0x00007ffff2e63c7e: retq
0x00007ffff2e63c7f: mov %r8,%rdi
0x00007ffff2e63c82: mov %rcx,%rdx
0x00007ffff2e63c85: mov 0x30(%rsp),%rcx
0x00007ffff2e63c8a: lea (%rdi,%rsi,2),%rdi
0x00007ffff2e63c8e: lea (%rdx,%rsi,2),%rdx
0x00007ffff2e63c92: neg %rsi
0x00007ffff2e63c95: pxor %xmm7,%xmm7
End of assembler dump.
(gdb) info all-registers
rax 0x7ffff30e3298 140737271181976
rbx 0x7fffe6d1e020 140737065902112
rcx 0xa65440 10900544
rdx 0xa69460 10916960
rsi 0x0 0
rdi 0xa63420 10892320
rbp 0x7fffe6d1e020 0x7fffe6d1e020
rsp 0x7fffffffc338 0x7fffffffc338
r8 0xa67460 10908768
r9 0x7ffff309e5a0 140737270900128
r10 0x7fffe6d24110 140737065926928
r11 0x7ffff4e0f8ba 140737301772474
r12 0x7fffe6d24110 140737065926928
r13 0x7fffe42798c0 140737021188288
r14 0x7fffdcd318c0 140736898209984
r15 0x40 64
rip 0x7ffff2e63c77 0x7ffff2e63c77
eflags 0x10247 [ CF PF ZF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
st0 -nan(0xff81ff81ff81ff81) (raw 0xffffff81ff81ff81ff81)
st1 -nan(0x180018001800180) (raw 0xffff0180018001800180)
st2 -nan(0xff81ff81ff81ff81) (raw 0xffffff81ff81ff81ff81)
st3 -nan(0x180018001800180) (raw 0xffff0180018001800180)
st4 -inf (raw 0xffff0000000000000000)
st5 -nan(0x606060606060606) (raw 0xffff0606060606060606)
st6 -nan(0x303030303030303) (raw 0xffff0303030303030303)
st7 -nan(0x101010101010101) (raw 0xffff0101010101010101)
fctrl 0x27f 639
fstat 0x0 0
ftag 0xaaaa 43690
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x76, 0x4, 0x76, 0x4, 0x76, 0x4, 0x76, 0x4, 0x76, 0x4, 0x76,
0x4, 0x76, 0x4, 0x76, 0x4}, v8_int16 = {0x476, 0x476,
0x476, 0x476, 0x476, 0x476, 0x476, 0x476}, v4_int32 = {0x4760476,
0x4760476, 0x4760476, 0x4760476}, v2_int64 = {0x476047604760476,
0x476047604760476}, uint128 = 0x04760476047604760476047604760476}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0xad, 0x2, 0xad, 0x2, 0xad, 0x2, 0xad, 0x2, 0xad, 0x2, 0xad,
0x2, 0xad, 0x2, 0xad, 0x2}, v8_int16 = {0x2ad, 0x2ad,
0x2ad, 0x2ad, 0x2ad, 0x2ad, 0x2ad, 0x2ad}, v4_int32 = {0x2ad02ad,
0x2ad02ad, 0x2ad02ad, 0x2ad02ad}, v2_int64 = {0x2ad02ad02ad02ad,
0x2ad02ad02ad02ad}, uint128 = 0x02ad02ad02ad02ad02ad02ad02ad02ad}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x68, 0x8f, 0x68, 0x8f, 0x68, 0x8f, 0x68, 0x8f, 0x68, 0x8f,
0x68, 0x8f, 0x68, 0x8f, 0x68, 0x8f}, v8_int16 = {0x8f68,
0x8f68, 0x8f68, 0x8f68, 0x8f68, 0x8f68, 0x8f68, 0x8f68}, v4_int32 =
{0x8f688f68, 0x8f688f68, 0x8f688f68, 0x8f688f68}, v2_int64 =
{0x8f688f688f688f68, 0x8f688f688f688f68},
uint128 = 0x8f688f688f688f688f688f688f688f68}
---Type <return> to continue, or q <return> to quit---
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x24, 0x7, 0x24, 0x7, 0x24, 0x7, 0x24, 0x7, 0x24, 0x7, 0x24,
0x7, 0x24, 0x7, 0x24, 0x7}, v8_int16 = {0x724, 0x724,
0x724, 0x724, 0x724, 0x724, 0x724, 0x724}, v4_int32 = {0x7240724,
0x7240724, 0x7240724, 0x7240724}, v2_int64 = {0x724072407240724,
0x724072407240724}, uint128 = 0x07240724072407240724072407240724}
xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x40, 0x0, 0x40, 0x0, 0x40, 0x0, 0x40, 0x0, 0x40, 0x0, 0x40,
0x0, 0x40, 0x0, 0x40, 0x0}, v8_int16 = {0x40, 0x40,
0x40, 0x40, 0x40, 0x40, 0x40, 0x40}, v4_int32 = {0x400040, 0x400040,
0x400040, 0x400040}, v2_int64 = {0x40004000400040, 0x40004000400040},
uint128 = 0x00400040004000400040004000400040}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x1, 0x0, 0x2, 0x0, 0x5, 0x0, 0x8, 0x0, 0x1, 0x0, 0x3, 0x0,
0x9, 0x0, 0xc, 0x0}, v8_int16 = {0x1, 0x2, 0x5, 0x8,
0x1, 0x3, 0x9, 0xc}, v4_int32 = {0x20001, 0x80005, 0x30001, 0xc0009},
v2_int64 = {0x8000500020001, 0xc000900030001}, uint128 =
0x000c0009000300010008000500020001}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0,
0x1, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x1, 0x1, 0x1,
0x1, 0x0, 0x1, 0x0}, v4_int32 = {0x10000, 0x10001, 0x1, 0x1}, v2_int64
= {0x1000100010000, 0x100000001}, uint128 =
0x00000001000000010001000100010000}
xmm8 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0,
0x1, 0x0, 0x0, 0x0}, v8_int16 = {0x1, 0x1, 0x1, 0x1,
0x1, 0x0, 0x1, 0x0}, v4_int32 = {0x10001, 0x10001, 0x1, 0x1}, v2_int64
= {0x1000100010001, 0x100000001}, uint128 =
0x00000001000000010001000100010001}
xmm9 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x20, 0xf0, 0x0 <repeats 14 times>}, v8_int16 = {0xf020, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0xf020,
0x0, 0x0, 0x0}, v2_int64 = {0xf020, 0x0}, uint128 =
0x0000000000000000000000000000f020}
xmm10 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm11 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x4, 0x0, 0x7, 0x0, 0xb, 0x0, 0xe, 0x0, 0x6, 0x0, 0xa, 0x0,
0xd, 0x0, 0xf, 0x0}, v8_int16 = {0x4, 0x7, 0xb, 0xe,
0x6, 0xa, 0xd, 0xf}, v4_int32 = {0x70004, 0xe000b, 0xa0006, 0xf000d},
v2_int64 = {0xe000b00070004, 0xf000d000a0006}, uint128 =
0x000f000d000a0006000e000b00070004}
xmm12 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm13 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm14 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm15 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
mxcsr 0x1fa0 [ PE IM DM ZM OM UM PM ]
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3370>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list