[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