[FFmpeg-trac] #4014(undetermined:new): SIGSEGV might occur if you press first the q key in libvpx-vp9

FFmpeg trac at avcodec.org
Wed Oct 8 17:20:12 CEST 2014


#4014: SIGSEGV might occur if you press first the q key in libvpx-vp9
-------------------------------------+-------------------------------------
             Reporter:  Einguste     |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  important    |                Component:
              Version:  git-master   |  undetermined
             Keywords:  crash        |               Resolution:
  SIGSEGV libvpx                     |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by Einguste):

 {{{
 (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 ]
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4014#comment:6>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list