Opened 12 years ago
Closed 12 years ago
#4014 closed defect (invalid)
SIGSEGV might occur if you press first the q key in libvpx-vp9
| Reported by: | Einguste | Owned by: | |
|---|---|---|---|
| Priority: | important | Component: | undetermined |
| Version: | git-master | Keywords: | crash SIGSEGV libvpx |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
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 ]
Change History (8)
follow-up: 3 comment:1 by , 12 years ago
| Component: | ffmpeg → undetermined |
|---|---|
| Keywords: | crash libvpx added; libvpx-vp9 removed |
| Priority: | normal → important |
| Version: | unspecified → git-master |
comment:2 by , 12 years ago
| Keywords: | SIGSEGV added |
|---|
comment:3 by , 12 years ago
comment:4 by , 12 years ago
Sorry about my suggestion, please recompile with --disable-optimizations --enable-debug=3 and try to improve the gdb output.
comment:5 by , 12 years ago
I test on Ubuntu linux too.
valgrind ./ffmpeg_g -y -i ../sample.mp4 -c:v libvpx-vp9 -c:a copy sample.mkv
==19392== Memcheck, a memory error detector
==19392== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==19392== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==19392== Command: ./ffmpeg_g -y -i ../sample.mp4 -c:v libvpx-vp9 -c:a copy sample.mkv
==19392==
ffmpeg version N-66700-g1d4480d Copyright (c) 2000-2014 the FFmpeg developers
built on Oct 8 2014 23:52:47 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --enable-libvpx
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
libswscale 3. 1.100 / 3. 1.100
libswresample 1. 1.100 / 1. 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, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
[libvpx-vp9 @ 0x5a9dea0] v1.3.0-4530-g2faff64
[libvpx-vp9 @ 0x5a9dea0] Failed to set VP8E_SET_NOISE_SENSITIVITY codec control: Unspecified internal error
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, 512x288 [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, 128 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
==19392== Invalid read of size 4
==19392== at 0xDDA960: vp9_lookahead_pop (in /home/einguste/ffmpeg/ffmpeg-build/ffmpeg_g)
==19392== by 0xCEFEC2: vp9_get_compressed_data (in /home/einguste/ffmpeg/ffmpeg-build/ffmpeg_g)
==19392== by 0xCDBF29: encoder_encode (in /home/einguste/ffmpeg/ffmpeg-build/ffmpeg_g)
==19392== by 0xCB4F9D: vpx_codec_encode (in /home/einguste/ffmpeg/ffmpeg-build/ffmpeg_g)
==19392== by 0x822B5B: vp8_encode (libvpxenc.c:724)
==19392== by 0x990C21: avcodec_encode_video2 (utils.c:2071)
==19392== by 0x4638E1: main (ffmpeg.c:1570)
==19392== Address 0x4 is not stack'd, malloc'd or (recently) free'd
==19392==
==19392==
==19392== Process terminating with default action of signal 11 (SIGSEGV)
==19392== Access not within mapped region at address 0x4
==19392== at 0xDDA960: vp9_lookahead_pop (in /home/einguste/ffmpeg/ffmpeg-build/ffmpeg_g)
==19392== by 0xCEFEC2: vp9_get_compressed_data (in /home/einguste/ffmpeg/ffmpeg-build/ffmpeg_g)
==19392== by 0xCDBF29: encoder_encode (in /home/einguste/ffmpeg/ffmpeg-build/ffmpeg_g)
==19392== by 0xCB4F9D: vpx_codec_encode (in /home/einguste/ffmpeg/ffmpeg-build/ffmpeg_g)
==19392== by 0x822B5B: vp8_encode (libvpxenc.c:724)
==19392== by 0x990C21: avcodec_encode_video2 (utils.c:2071)
==19392== by 0x4638E1: main (ffmpeg.c:1570)
==19392== If you believe this happened as a result of a stack
==19392== overflow in your program's main thread (unlikely but
==19392== possible), you can try to increase the size of the
==19392== main thread stack using the --main-stacksize= flag.
==19392== The main thread stack size used in this run was 8388608.
==19392==
==19392== HEAP SUMMARY:
==19392== in use at exit: 18,958,986 bytes in 18,362 blocks
==19392== total heap usage: 19,605 allocs, 1,243 frees, 21,608,609 bytes allocated
==19392==
==19392== LEAK SUMMARY:
==19392== definitely lost: 0 bytes in 0 blocks
==19392== indirectly lost: 0 bytes in 0 blocks
==19392== possibly lost: 15,625,722 bytes in 18,148 blocks
==19392== still reachable: 3,333,264 bytes in 214 blocks
==19392== suppressed: 0 bytes in 0 blocks
==19392== Rerun with --leak-check=full to see details of leaked memory
==19392==
==19392== For counts of detected and suppressed errors, rerun with: -v
==19392== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
強制終了
comment:6 by , 12 years ago
(gdb) r
Starting program: /home/einguste/ffmpeg/ffmpeg-build/ffmpeg_g -y -i ../sample.mp4 -c:v libvpx-vp9 -c:a copy sample.mkv
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
qffmpeg version N-66700-g1d4480d Copyright (c) 2000-2014 the FFmpeg developers
built on Oct 9 2014 00:14:14 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --enable-libvpx --disable-optimizations --enable-debug=3
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
libswscale 3. 1.100 / 3. 1.100
libswresample 1. 1.100 / 1. 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, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
[New Thread 0x7ffff74ef700 (LWP 28557)]
[New Thread 0x7ffff6cee700 (LWP 28558)]
[New Thread 0x7ffff64ed700 (LWP 28559)]
[libvpx-vp9 @ 0x1f68aa0] v1.3.0-4530-g2faff64
[libvpx-vp9 @ 0x1f68aa0] Failed to set VP8E_SET_NOISE_SENSITIVITY codec control: Unspecified internal error
[New Thread 0x7ffff5622700 (LWP 28560)]
[New Thread 0x7ffff4e21700 (LWP 28561)]
[New Thread 0x7ffff4620700 (LWP 28562)]
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, 512x288 [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, 128 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.
(gdb) bt
#0 0x000000000126b670 in vp9_lookahead_pop ()
#1 0x0000000001180bd3 in vp9_get_compressed_data ()
#2 0x000000000116cc3a in encoder_encode ()
#3 0x0000000001145cae in vpx_codec_encode ()
#4 0x00000000009ca58e in vp8_encode (avctx=0x1f68aa0, pkt=0x7fffffffdd50,
frame=0x0, got_packet=0x7fffffffdd14)
at /home/einguste/ffmpeg/ffmpeg/libavcodec/libvpxenc.c:724
#5 0x0000000000b9fd89 in avcodec_encode_video2 (avctx=0x1f68aa0,
avpkt=0x7fffffffdd50, frame=0x0, got_packet_ptr=0x7fffffffdd14)
at /home/einguste/ffmpeg/ffmpeg/libavcodec/utils.c:2071
#6 0x000000000041ecbd in flush_encoders ()
at /home/einguste/ffmpeg/ffmpeg/ffmpeg.c:1570
#7 0x0000000000427dc4 in transcode ()
at /home/einguste/ffmpeg/ffmpeg/ffmpeg.c:3707
#8 0x00000000004281c9 in main (argc=9, argv=0x7fffffffdf08)
at /home/einguste/ffmpeg/ffmpeg/ffmpeg.c:3860
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x126b650 to 0x126b690:
0x000000000126b650 <vp9_lookahead_push+112>: add %dh,(%rcx)
0x000000000126b652 <vp9_lookahead_push+114>: rolb $0x90,-0x4d(%rcx,%rcx,4)
0x000000000126b657 <vp9_lookahead_push+119>: add %al,(%rax)
0x000000000126b659 <vp9_lookahead_push+121>: add %bl,0x5d(%rbx)
0x000000000126b65c <vp9_lookahead_push+124>: pop %r12
0x000000000126b65e <vp9_lookahead_push+126>: pop %r13
0x000000000126b660 <vp9_lookahead_push+128>: pop %r14
0x000000000126b662 <vp9_lookahead_push+130>: repz retq
0x000000000126b664: data32 data32 nopw %cs:0x0(%rax,%rax,1)
=> 0x000000000126b670 <vp9_lookahead_pop+0>: mov 0x4(%rdi),%ecx
0x000000000126b673 <vp9_lookahead_pop+3>: test %ecx,%ecx
0x000000000126b675 <vp9_lookahead_pop+5>: je 0x126b6c0 <vp9_lookahead_pop+80>
0x000000000126b677 <vp9_lookahead_pop+7>: test %esi,%esi
0x000000000126b679 <vp9_lookahead_pop+9>: mov (%rdi),%esi
0x000000000126b67b <vp9_lookahead_pop+11>: je 0x126b6b0 <vp9_lookahead_pop+64>
0x000000000126b67d <vp9_lookahead_pop+13>: mov 0x8(%rdi),%edx
0x000000000126b680 <vp9_lookahead_pop+16>: mov %edx,%eax
0x000000000126b682 <vp9_lookahead_pop+18>: add $0x1,%edx
0x000000000126b685 <vp9_lookahead_pop+21>: lea (%rax,%rax,8),%r8
0x000000000126b689 <vp9_lookahead_pop+25>: lea (%rax,%r8,2),%r8
---Type <return> to continue, or q <return> to quit---
0x000000000126b68d <vp9_lookahead_pop+29>: mov 0x10(%rdi),%rax
End of assembler dump.
(gdb) info all-registers
rax 0x0 0
rbx 0x1fbda40 33282624
rcx 0x0 0
rdx 0x0 0
rsi 0x1 1
rdi 0x0 0
rbp 0x7fffffffda10 0x7fffffffda10
rsp 0x7fffffffd7d8 0x7fffffffd7d8
r8 0x0 0
r9 0x1 1
r10 0x5435556f 1412781423
r11 0x0 0
r12 0x7fffffffda20 140737488345632
r13 0x7ffff7e0b020 140737352085536
r14 0x0 0
r15 0x0 0
rip 0x126b670 0x126b670 <vp9_lookahead_pop>
eflags 0x10246 [ PF ZF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
---Type <return> to continue, or q <return> to quit---
gs 0x0 0
st0 -nan(0x8080808080808080) (raw 0xffff8080808080808080)
st1 -nan(0x8080808080808080) (raw 0xffff8080808080808080)
st2 -nan(0x002000200) (raw 0xffff0000000002000200)
st3 -nan(0x200020002000200) (raw 0xffff0200020002000200)
st4 -nan(0x1010101010101010) (raw 0xffff1010101010101010)
st5 -nan(0x1010101010101010) (raw 0xffff1010101010101010)
st6 0 (raw 0x00000000000000000000)
st7 -inf (raw 0xffff0000000000000000)
fctrl 0x27f 639
fstat 0x0 0
ftag 0xffff 65535
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {v4_float = {0x55500000, 0xfffffff9, 0x0, 0x0}, v2_double = {
0xfffffffffffeba7b, 0x0}, v16_int8 = {0x55, 0x55, 0x55, 0x55, 0x55, 0x58,
0xf4, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x5555,
0x5555, 0x5855, 0xc0f4, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x55555555,
0xc0f45855, 0x0, 0x0}, v2_int64 = {0xc0f4585555555555, 0x0},
uint128 = 0x0000000000000000c0f4585555555555}
---Type <return> to continue, or q <return> to quit---
xmm1 {v4_float = {0x55500000, 0xfffffff9, 0x0, 0x0}, v2_double = {
0xfffffffffffeba7b, 0x0}, v16_int8 = {0x55, 0x55, 0x55, 0x55, 0x55, 0x58,
0xf4, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x5555,
0x5555, 0x5855, 0xc0f4, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x55555555,
0xc0f45855, 0x0, 0x0}, v2_int64 = {0xc0f4585555555555, 0x0},
uint128 = 0x0000000000000000c0f4585555555555}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x1, 0x0 <repeats 11 times>}, v8_int16 = {
0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x1, 0x0, 0x0},
v2_int64 = {0x100000000, 0x0}, uint128 = 0x00000000000000000000000100000000}
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 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xff, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0xffffffff, 0xffffff, 0x0, 0x0}, v2_int64 = {
0xffffffffffffff, 0x0}, uint128 = 0x000000000000000000ffffffffffffff}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff},
v8_int16 = {0x0, 0x0, 0x0, 0xffff, 0x0, 0x0, 0xffff, 0xffff}, v4_int32 = {
---Type <return> to continue, or q <return> to quit---
0x0, 0xffff0000, 0x0, 0xffffffff}, v2_int64 = {0xffff000000000000,
0xffffffff00000000}, uint128 = 0xffffffff00000000ffff000000000000}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x73, 0x0, 0x73,
0x69, 0x64, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x6e, 0x6c,
0x79}, v8_int16 = {0x73, 0x6973, 0x6564, 0x645f, 0x7461, 0x5f61, 0x6e6f,
0x796c}, v4_int32 = {0x69730073, 0x645f6564, 0x5f617461, 0x796c6e6f},
v2_int64 = {0x645f656469730073, 0x796c6e6f5f617461},
uint128 = 0x796c6e6f5f617461645f656469730073}
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},
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 = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x0, 0x0, 0x0, 0x0,
---Type <return> to continue, or q <return> to quit---
0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff},
v8_int16 = {0x0, 0x0, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff}, v4_int32 = {
0x0, 0xffffffff, 0x0, 0xffffffff}, v2_int64 = {0xffffffff00000000,
0xffffffff00000000}, uint128 = 0xffffffff00000000ffffffff00000000}
xmm11 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x0, 0x0, 0x0, 0x0,
0xff <repeats 12 times>}, v8_int16 = {0x0, 0x0, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff}, v4_int32 = {0x0, 0xffffffff, 0xffffffff,
0xffffffff}, v2_int64 = {0xffffffff00000000, 0xffffffffffffffff},
uint128 = 0xffffffffffffffffffffffff00000000}
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, 0x2, 0x0, 0x0}, v2_double = {0xb, 0x0},
---Type <return> to continue, or q <return> to quit---
v16_int8 = {0x80, 0xdb, 0xe9, 0x2e, 0x27, 0x91, 0x27, 0x40, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0xdb80, 0x2ee9, 0x9127, 0x4027, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x2ee9db80, 0x40279127, 0x0, 0x0}, v2_int64 = {
0x402791272ee9db80, 0x0}, uint128 = 0x0000000000000000402791272ee9db80}
mxcsr 0x1fa8 [ OE PE IM DM ZM OM UM PM ]
comment:7 by , 12 years ago
From a quick look, the backtrace indicates a problem that cannot be fixed within FFmpeg.
comment:8 by , 12 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
could be wrong of course but this looks like a bug in libvpx to me too
that is it seems to crash if flushed before encoding anything
we still might want to add a workaround for this though, not sure
Note:
See TracTickets
for help on using tickets.



Please also provide valgrind output.