[FFmpeg-trac] #4014(ffmpeg:new): SIGSEGV might occur if you press first the q key in libvpx-vp9
FFmpeg
trac at avcodec.org
Wed Oct 8 08:59:19 CEST 2014
#4014: SIGSEGV might occur if you press first the q key in libvpx-vp9
-------------------------------------+-------------------------------------
Reporter: Einguste | Type: defect
Status: new | Priority: normal
Component: ffmpeg | Version:
Keywords: libvpx-vp9 | unspecified
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Summary of the bug:
How to reproduce:
{{{
% gdb ffmpeg_g.exe
(gdb) run -y -i ../sample.mp4 -c:v libvpx-vp9 -c:a copy sample.mkv
Starting program: D:\MinGW8\msys\1.0\home\augus\ffmpeg\ffmpeg-
build\ffmpeg_g.exe
-y -i ../sample.mp4 -c:v libvpx-vp9 -c:a copy sample.mkv
[New Thread 3604.0x1408]
ffmpeg version N-66687-g1acc918 Copyright (c) 2000-2014 the FFmpeg
developers
built on Oct 8 2014 08:28:30 with gcc 4.9.1 (GCC)
configuration: --arch=amd64 --enable-gpl --enable-version3 --enable-
avisynth --enable-fontconfig --enable-frei0r --enable-gnutls --enable-
ladspa --enable-libass --enable-libbluray --enable-libcaca --enable-
libcdio --enable-libfreetype --enable-libfribidi --enable-libgme --enable-
libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-
librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-
libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-
libvorbis --enable-libvpx --enable-libvidstab --enable-libwavpack
--enable-libx264 --enable-libx265 --enable-libxvid --enable-libilbc
--enable-libxavs --enable-opengl --enable-libwebp --enable-avresample
--enable-w32threads --extra-ldflags=-static --extra-cflags='-mtune=generic
-mfpmath=sse -msse' --optflags='-O2 -finline-functions'
libavutil 54. 9.100 / 54. 9.100
libavcodec 56. 3.101 / 56. 3.101
libavformat 56. 7.104 / 56. 7.104
libavdevice 56. 1.100 / 56. 1.100
libavfilter 5. 1.103 / 5. 1.103
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.100 / 3. 1.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 1.100 / 53. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../sample.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.4.101
Duration: 00:05:05.11, start: 0.000000, bitrate: 487 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
512x288 [
SAR 1:1 DAR 16:9], 354 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo,
fltp, 12
8 kb/s (default)
Metadata:
handler_name : SoundHandler
[New Thread 3604.0x1814]
[New Thread 3604.0xa20]
[New Thread 3604.0x1aa4]
[libvpx-vp9 @ 000000000b5956c0] v1.3.0-4506-ga9f4796
[New Thread 3604.0x18fc]
[New Thread 3604.0x18b8]
[New Thread 3604.0x109c]
Output #0, matroska, to 'sample.mkv':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.7.104
Stream #0:0(und): Video: vp9 (libvpx-vp9) (VP90 / 0x30395056),
yuv420p, 512x
288 [SAR 1:1 DAR 16:9], q=-1--1, 200 kb/s, 24 fps, 1k tbn, 24 tbc
(default)
Metadata:
handler_name : VideoHandler
encoder : Lavc56.3.101 libvpx-vp9
Stream #0:1(und): Audio: aac ([255][0][0][0] / 0x00FF), 44100 Hz,
stereo, 12
8 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> vp9 (libvpx-vp9))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
Program received signal SIGSEGV, Segmentation fault.
0x0000000002026160 in cbrt_tab ()
(gdb) bt
#0 0x0000000002026160 in cbrt_tab ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x2026140 to 0x2026180:
0x0000000002026140 <cbrt_tab+8320>: mov %eax,0x90(%rsi)
0x0000000002026146 <cbrt_tab+8326>: xor %eax,%eax
0x0000000002026148 <cbrt_tab+8328>: add $0x28,%rsp
0x000000000202614c <cbrt_tab+8332>: pop %rbx
0x000000000202614d <cbrt_tab+8333>: pop %rsi
0x000000000202614e <cbrt_tab+8334>: pop %rdi
0x000000000202614f <cbrt_tab+8335>: pop %rbp
0x0000000002026150 <cbrt_tab+8336>: retq
0x0000000002026151 <cbrt_tab+8337>: data16 data16 data16 data16 data16
nopw
%cs:0x0(%rax,%rax,1)
=> 0x0000000002026160 <cbrt_tab+8352>: mov 0x4(%rcx),%r8d
0x0000000002026164 <cbrt_tab+8356>: test %r8d,%r8d
0x0000000002026167 <cbrt_tab+8359>: je 0x20261b0 <cbrt_tab+8432>
0x0000000002026169 <cbrt_tab+8361>: test %edx,%edx
0x000000000202616b <cbrt_tab+8363>: mov (%rcx),%r9d
0x000000000202616e <cbrt_tab+8366>: je 0x20261a2 <cbrt_tab+8418>
0x0000000002026170 <cbrt_tab+8368>: mov 0x8(%rcx),%eax
0x0000000002026173 <cbrt_tab+8371>: lea (%rax,%rax,8),%r10
0x0000000002026177 <cbrt_tab+8375>: mov %rax,%rdx
0x000000000202617a <cbrt_tab+8378>: lea (%rax,%r10,2),%r10
0x000000000202617e <cbrt_tab+8382>: mov 0x10(%rcx),%rax
End of assembler dump.
(gdb) info all-register
rax 0x0 0
rbx 0xb8b7fa0 193691552
rcx 0x0 0
rdx 0x1 1
rsi 0x0 0
rdi 0xb8b7fa0 193691552
rbp 0x0 0x0
rsp 0x39f6c8 0x39f6c8
r8 0x0 0
r9 0x0 0
r10 0x1 1
r11 0x19 25
r12 0x39f818 3799064
r13 0x39f814 3799060
r14 0x39f814 3799060
r15 0x0 0
rip 0x2026160 0x2026160 <cbrt_tab+8352>
eflags 0x10246 [ PF ZF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
st0 -nan(0x8080808080808080) (raw 0xffff8080808080808080)
---Type <return> to continue, or q <return> to quit---
st1 -nan(0x8080808080808080) (raw 0xffff8080808080808080)
st2 -nan(0x002000200) (raw 0xffff0000000002000200)
st3 -nan(0x200020002000200) (raw 0xffff0200020002000200)
st4 131063 (raw 0x400ffffb800000000000)
st5 131063 (raw 0x400ffffb800000000000)
st6 131064 (raw 0x400ffffc000000000000)
st7 24 (raw 0x4003c000000000000000)
fctrl 0x20027f 2097791
fstat 0x20 32
ftag 0x37c0000 58458112
fiseg 0x33 51
fioff 0x2543668 39073384
foseg 0x2b 43
fooff 0x399d20 3775776
fop 0x0 0
xmm0 {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}
xmm1 {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}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
0x0,
---Type <return> to continue, or q <return> to quit---
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
0x0},
uint128 = 0x00000000000000000000000000000000}
xmm3 {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}
xmm4 {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}
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 = {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}
xmm7 {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}
xmm8 {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},
---Type <return> to continue, or q <return> to quit---
uint128 = 0x00000000000000000000000000000000}
xmm9 {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}
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 = {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}
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}
---Type <return> to continue, or q <return> to quit---
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 0x1fa8 [ OE PE IM DM ZM OM UM PM ]
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4014>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list