[FFmpeg-trac] #627(undetermined:new): ffmpeg crashes when force flic codec with mov file

FFmpeg trac at avcodec.org
Wed Nov 9 03:05:14 CET 2011


#627: ffmpeg crashes when force flic codec with mov file
-------------------------------------+-------------------------------------
             Reporter:  ami_stuff    |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 https://ffmpeg.org/trac/ffmpeg/raw-attachment/ticket/626/npgo.mov

 {{{
 $ gdb ffmpeg_g.exe
 GNU gdb (GDB) 7.2
 Copyright (C) 2010 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 and "show warranty" for details.
 This GDB was configured as "mingw32".
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>...
 Reading symbols from F:\MinGW\msys\1.0\ffmpeg-HEAD-
 d3bc75c/ffmpeg_g.exe...done.
 (gdb) r -vcodec flic -i npgo.mov
 Starting program: F:\MinGW\msys\1.0\ffmpeg-HEAD-d3bc75c/ffmpeg_g.exe
 -vcodec fli
 c -i npgo.mov
 [New Thread 3524.0xbd4]
 ffmpeg version 0.8.5.git-d3bc75c, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on Nov  6 2011 18:11:47 with gcc 4.5.2
   configuration: --disable-ffplay --disable-ffserver --disable-asm
 --disable-yas
 m --disable-shared --enable-static
   libavutil    51. 23. 0 / 51. 23. 0
   libavcodec   53. 28. 0 / 53. 28. 0
   libavformat  53. 19. 0 / 53. 19. 0
   libavdevice  53.  4. 0 / 53.  4. 0
   libavfilter   2. 47. 0 /  2. 47. 0
   libswscale    2.  1. 0 /  2.  1. 0

 Program received signal SIGSEGV, Segmentation fault.
 flic_decode_init (avctx=0x41008b0) at libavcodec/flicvideo.c:86
 86          s->fli_type = AV_RL16(&fli_header[4]); /* Might be overridden
 if a M
 agic Carpet FLC */
 (gdb) bt
 #0  flic_decode_init (avctx=0x41008b0) at libavcodec/flicvideo.c:86
 #1  0x004f99b7 in avcodec_open2 (avctx=0x41008b0, codec=0xa02420,
     options=0x22fb0c) at libavcodec/utils.c:695
 #2  0x00438929 in avformat_find_stream_info (ic=0x3b98ae0,
 options=0x3ba1680)
     at libavformat/utils.c:2391
 #3  0x0040c5f8 in opt_input_file (o=0x22fda8, opt=0x3ba0d69 "i",
     filename=<value optimized out>) at ffmpeg.c:3317
 #4  0x0041114a in parse_option (optctx=0x22fda8, opt=<value optimized
 out>,
     arg=0x3ba0d6b "npgo.mov", options=0xa0d2c0) at cmdutils.c:275
 #5  0x004114f8 in parse_options (optctx=0x22fda8, argc=5,
     argv=<value optimized out>, options=0xa0d2c0,
     parse_arg_function=0x40e018 <opt_output_file>) at cmdutils.c:308
 #6  0x0040f847 in main (argc=5, argv=<value optimized out>) at
 ffmpeg.c:4716
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0x9d7912 to 0x9d7952:
    0x009d7912 <flic_decode_end+22>:     add    $0x89,%al
    0x009d7914 <flic_decode_end+24>:     add    $0x24,%al
    0x009d7916 <flic_decode_end+26>:     call   *0xf8(%eax)
    0x009d791c <flic_decode_end+32>:     xor    %eax,%eax
    0x009d791e <flic_decode_end+34>:     add    $0x1c,%esp
    0x009d7921 <flic_decode_end+37>:     ret
    0x009d7922 <flic_decode_init+0>:     push   %ebx
    0x009d7923 <flic_decode_init+1>:     sub    $0x18,%esp
    0x009d7926 <flic_decode_init+4>:     mov    0x20(%esp),%eax
    0x009d792a <flic_decode_init+8>:     mov    0x7c(%eax),%ebx
    0x009d792d <flic_decode_init+11>:    mov    0x18(%eax),%ecx
    0x009d7930 <flic_decode_init+14>:    mov    %eax,(%ebx)
 => 0x009d7932 <flic_decode_init+16>:    movzwl 0x4(%ecx),%edx
    0x009d7936 <flic_decode_init+20>:    mov    %edx,0x524(%ebx)
    0x009d793c <flic_decode_init+26>:    mov    0x1c(%eax),%edx
    0x009d793f <flic_decode_init+29>:    cmp    $0xc,%edx
    0x009d7942 <flic_decode_init+32>:    jne    0x9d7952
 <flic_decode_init+48>
    0x009d7944 <flic_decode_init+34>:    movl   $0xaf13,0x524(%ebx)
    0x009d794e <flic_decode_init+44>:    mov    $0x8,%dl
    0x009d7950 <flic_decode_init+46>:    jmp    0x9d7981
 <flic_decode_init+95>
 End of assembler dump.
 (gdb) info all-registers
 eax            0x41008b0        68159664
 ecx            0x0      0
 edx            0x0      0
 ebx            0x4101190        68161936
 esp            0x22f6f0 0x22f6f0
 ebp            0x0      0x0
 esi            0x41008b0        68159664
 edi            0x22f75c 2291548
 eip            0x9d7932 0x9d7932 <flic_decode_init+16>
 eflags         0x10206  [ PF IF RF ]
 cs             0x1b     27
 ss             0x23     35
 ds             0x23     35
 es             0x23     35
 fs             0x3b     59
 gs             0x0      0
 st0            <invalid float value>    (raw 0x0000b9a49a24b9a4995c)
 st1            0        (raw 0x00000000000000000001)
 st2            0        (raw 0x99d4badb0d00804dc8c1)
 st3            -1       (raw 0xbfff8000000000000000)
 st4            -1       (raw 0xbfff8000000000000000)
 st5            1        (raw 0x3fff8000000000000000)
 st6            1        (raw 0x3fff8000000000000000)
 st7            1        (raw 0x3fff8000000000000000)
 fctrl          0xffff037f       -64641
 fstat          0xffff4020       -49120
 ftag           0xffffffff       -1
 fiseg          0x0      0
 fioff          0x0      0
 foseg          0xffff0000       -65536
 fooff          0x0      0
 fop            0x0      0
 xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0, 0x0, 0x0, 0x0, 0xc1, 0xc8, 0x4d, 0x80, 0x8, 0x0, 0x0,
 0x0,
     0x82, 0x2, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0xc8c1, 0x804d, 0x8, 0x0,
     0x282, 0x0}, v4_int32 = {0x0, 0x804dc8c1, 0x8, 0x282}, v2_int64 = {
     0x804dc8c100000000, 0x28200000008},
   uint128 = 0x0000028200000008804dc8c100000000}
 xmm1           {v4_float = {0xffffffff, 0x0, 0x0, 0x0}, v2_double = {0x0,
     0x0}, v16_int8 = {0xd6, 0x99, 0x85, 0xbf, 0xf4, 0x22, 0x0, 0x80, 0x0,
     0x0, 0x0, 0x0, 0x10, 0x9b, 0xa4, 0xb9}, v8_int16 = {0x99d6, 0xbf85,
     0x22f4, 0x8000, 0x0, 0x0, 0x9b10, 0xb9a4}, v4_int32 = {0xbf8599d6,
     0x800022f4, 0x0, 0xb9a49b10}, v2_int64 = {0x800022f4bf8599d6,
     0xb9a49b1000000000}, uint128 = 0xb9a49b1000000000800022f4bf8599d6}
 xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x30, 0x38, 0x8f, 0xe1, 0x10, 0x0, 0x12, 0x0, 0x0, 0x9b,
 0xa4,
     0xb9, 0xac, 0x0, 0x0, 0x0}, v8_int16 = {0x3830, 0xe18f, 0x10, 0x12,
     0x9b00, 0xb9a4, 0xac, 0x0}, v4_int32 = {0xe18f3830, 0x120010,
 0xb9a49b00,
     0xac}, v2_int64 = {0x120010e18f3830, 0xacb9a49b00},
   uint128 = 0x000000acb9a49b0000120010e18f3830}
 xmm3           {v4_float = {0x0, 0x0, 0xffffffff, 0x0}, v2_double = {0x0,
     0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0xd0, 0x9b, 0xa4, 0xb9, 0x26,
 0x4a,
     0x85, 0xbf, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x9bd0, 0xb9a4,
     0x4a26, 0xbf85, 0x0, 0x0}, v4_int32 = {0x0, 0xb9a49bd0, 0xbf854a26,
 0x0},
   v2_int64 = {0xb9a49bd000000000, 0xbf854a26},
   uint128 = 0x00000000bf854a26b9a49bd000000000}
 xmm4           {v4_float = {0x0, 0x0, 0xffffffff, 0x0}, v2_double = {0x0,
     0x8000000000000000}, v16_int8 = {0xa6, 0x9c, 0x0, 0x0, 0xd0, 0x9b,
 0xa4,
     0xb9, 0x61, 0x4a, 0x85, 0xbf, 0x30, 0x38, 0x8f, 0xe1}, v8_int16 = {
     0x9ca6, 0x0, 0x9bd0, 0xb9a4, 0x4a61, 0xbf85, 0x3830, 0xe18f}, v4_int32
 = {
     0x9ca6, 0xb9a49bd0, 0xbf854a61, 0xe18f3830}, v2_int64 = {
     0xb9a49bd000009ca6, 0xe18f3830bf854a61},
   uint128 = 0xe18f3830bf854a61b9a49bd000009ca6}
 xmm5           {v4_float = {0x0, 0xffffffff, 0x0, 0x0}, v2_double = {0x0,
     0x8000000000000000}, v16_int8 = {0x24, 0x9a, 0xa4, 0xb9, 0xd1, 0x4a,
     0x85, 0xbf, 0x0, 0x0, 0x0, 0x1, 0xf8, 0x8c, 0x28, 0xe3}, v8_int16 = {
     0x9a24, 0xb9a4, 0x4ad1, 0xbf85, 0x0, 0x100, 0x8cf8, 0xe328}, v4_int32
 = {
     0xb9a49a24, 0xbf854ad1, 0x1000000, 0xe3288cf8}, v2_int64 = {
     0xbf854ad1b9a49a24, 0xe3288cf801000000},
   uint128 = 0xe3288cf801000000bf854ad1b9a49a24}
 xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x30, 0x38, 0x8f, 0xe1, 0x10, 0x0, 0x12, 0x0, 0x0, 0x9b,
 0xa4,
     0xb9, 0x14, 0x9a, 0xa4, 0xb9}, v8_int16 = {0x3830, 0xe18f, 0x10, 0x12,
     0x9b00, 0xb9a4, 0x9a14, 0xb9a4}, v4_int32 = {0xe18f3830, 0x120010,
     0xb9a49b00, 0xb9a49a14}, v2_int64 = {0x120010e18f3830,
     0xb9a49a14b9a49b00}, uint128 = 0xb9a49a14b9a49b0000120010e18f3830}
 xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x78, 0x1, 0xe4, 0xbb, 0x0, 0x0, 0x2, 0x0, 0x0, 0xe0, 0xfd,
     0x7f, 0x40, 0x9a, 0xa4, 0xb9}, v8_int16 = {0x178, 0xbbe4, 0x0, 0x2,
     0xe000, 0x7ffd, 0x9a40, 0xb9a4}, v4_int32 = {0xbbe40178, 0x20000,
     0x7ffde000, 0xb9a49a40}, v2_int64 = {0x20000bbe40178,
     0xb9a49a407ffde000}, uint128 = 0xb9a49a407ffde00000020000bbe40178}
 mxcsr          0x1f80   [ IM DM ZM OM UM PM ]
 mm0            {uint64 = 0xb9a49a24b9a4995c, v2_int32 = {0xb9a4995c,
     0xb9a49a24}, v4_int16 = {0x995c, 0xb9a4, 0x9a24, 0xb9a4}, v8_int8 = {
     0x5c, 0x99, 0xa4, 0xb9, 0x24, 0x9a, 0xa4, 0xb9}}
 mm1            {uint64 = 0x1, v2_int32 = {0x1, 0x0}, v4_int16 = {0x1, 0x0,
     0x0, 0x0}, v8_int8 = {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
 mm2            {uint64 = 0xbadb0d00804dc8c1, v2_int32 = {0x804dc8c1,
     0xbadb0d00}, v4_int16 = {0xc8c1, 0x804d, 0xd00, 0xbadb}, v8_int8 =
 {0xc1,
     0xc8, 0x4d, 0x80, 0x0, 0xd, 0xdb, 0xba}}
 mm3            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
   v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x80}}
 mm4            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
   v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x80}}
 mm5            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
   v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x80}}
 mm6            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
   v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x80}}
 mm7            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
   v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x80}}
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/627>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list