Opened 10 years ago
Closed 10 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 , 10 years ago
Component: | ffmpeg → undetermined |
---|---|
Keywords: | crash libvpx added; libvpx-vp9 removed |
Priority: | normal → important |
Version: | unspecified → git-master |
comment:2 by , 10 years ago
Keywords: | SIGSEGV added |
---|
comment:3 by , 10 years ago
comment:4 by , 10 years ago
Sorry about my suggestion, please recompile with --disable-optimizations --enable-debug=3
and try to improve the gdb output.
comment:5 by , 10 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 , 10 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 , 10 years ago
From a quick look, the backtrace indicates a problem that cannot be fixed within FFmpeg.
comment:8 by , 10 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.