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)

comment:1 by Carl Eugen Hoyos, 10 years ago

Component: ffmpegundetermined
Keywords: crash libvpx added; libvpx-vp9 removed
Priority: normalimportant
Version: unspecifiedgit-master

Please also provide valgrind output.

comment:2 by Carl Eugen Hoyos, 10 years ago

Keywords: SIGSEGV added

in reply to:  1 comment:3 by Einguste, 10 years ago

Replying to cehoyos:

Please also provide valgrind output.

I am Windows User,so I can't. sorry.

comment:4 by Carl Eugen Hoyos, 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 Einguste, 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 Einguste, 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 Carl Eugen Hoyos, 10 years ago

From a quick look, the backtrace indicates a problem that cannot be fixed within FFmpeg.

comment:8 by Michael Niedermayer, 10 years ago

Resolution: invalid
Status: newclosed

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.