[FFmpeg-trac] #588(avcodec:open): FFmpeg crashes when transcoding a wmv video on windows 7 (64 bit) machine

FFmpeg trac at avcodec.org
Sun Oct 30 17:53:21 CET 2011


#588: FFmpeg crashes when transcoding a wmv video on windows 7 (64 bit) machine
-------------------------------------+-----------------------------------
             Reporter:  eiljoe       |                    Owner:  michael
                 Type:  defect       |                   Status:  open
             Priority:  important    |                Component:  avcodec
              Version:  unspecified  |               Resolution:
             Keywords:  win64        |               Blocked By:
             Blocking:               |  Reproduced by developer:  1
Analyzed by developer:  0            |
-------------------------------------+-----------------------------------

Comment (by cehoyos):

 --enable-memalign-hack does not help:
 {{{
 (gdb) break ff_imdct_half_sse
 Breakpoint 1 at 0x9d7560
 (gdb) break ff_imdct_half_sse.pre
 Breakpoint 2 at 0x9d75a2
 (gdb) r -i ffmpeg-crash-around-frame-60.wmv -vn -f null -
 ffmpeg version N-34276-g02fa529, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on Oct 30 2011 17:33:40 with gcc 4.7.0 20110827 (experimental)
   configuration: --enable-memalign-hack
   libavutil    51. 22. 0 / 51. 22. 0
   libavcodec   53. 25. 0 / 53. 25. 0
   libavformat  53. 18. 0 / 53. 18. 0
   libavdevice  53.  4. 0 / 53.  4. 0
   libavfilter   2. 45. 1 /  2. 45. 1
   libswscale    2.  1. 0 /  2.  1. 0
 [wmav2 @ 0000000005B15BC0] Warning: not compiled with thread support,
 using thread emulation
 [wmv2 @ 0000000005B16580] Warning: not compiled with thread support, using
 thread emulation
 [asf @ 000000000032BAE0] parser not found for codec wmav2, packets or
 times may be invalid.

 Seems stream 1 codec frame rate differs from container frame rate: 1000.00
 (1000/1) -> 25.00 (25/1)
 Input #0, asf, from 'ffmpeg-crash-around-frame-60.wmv':
   Metadata:
     WMFSDKVersion   : 11.0.5721.5245
     WMFSDKNeeded    : 0.0.0.0000
     IsVBR           : 1
     VBR Peak        : 8464 ­¡║¯½½½½½½½½½½½½½½½½■¯■¯■¯■
     Buffer Average  : 8514 ­¡║¯½½½½½½½½½½½½½½½½■¯■¯■¯■
     Encoded_By      : Sorenson Squeeze
     Encoded_With    : Sorenson Squeeze
   Duration: 00:01:20.02, start: 0.000000, bitrate: 153 kb/s
     Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 48000 Hz, 2 channels,
 s16, 128 kb/s
     Stream #0:1: Video: wmv2 (WMV2 / 0x32564D57), yuv420p, 1280x720, 18000
 kb/s, 25 tbr, 1k tbn, 1k tbc
 [pcm_s16le @ 0000000005B74400] Warning: not compiled with thread support,
 using thread emulation
 [wmav2 @ 0000000005B15BC0] Warning: not compiled with thread support,
 using thread emulation
 Output #0, null, to 'pipe:':
   Metadata:
     WMFSDKVersion   : 11.0.5721.5245
     WMFSDKNeeded    : 0.0.0.0000
     IsVBR           : 1
     VBR Peak        : 8464 ­¡║¯½½½½½½½½½½½½½½½½■¯■¯■¯■
     Buffer Average  : 8514 ­¡║¯½½½½½½½½½½½½½½½½■¯■¯■¯■
     Encoded_By      : Sorenson Squeeze
     Encoded_With    : Sorenson Squeeze
     encoder         : Lavf53.18.0
     Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
 Stream mapping:
   Stream #0.0 -> #0.0 (wmav2 -> pcm_s16le)
 Press [q] to stop, [?] for help

 Breakpoint 1, 0x00000000009d7560 in ff_imdct_half_sse ()
 (gdb) bt
 #0  0x00000000009d7560 in ff_imdct_half_sse ()
 #1  0x00000000009d4779 in ff_imdct_calc_sse (s=<optimized out>,
     output=0x5b51a3c, input=<optimized out>) at
 libavcodec/x86/fft_sse.c:89
 #2  0x00000000007464d5 in wma_decode_block (s=0x5b45560)
     at libavcodec/wmadec.c:756
 #3  0x0000000000000000 in ?? ()
 (gdb) disass $pc,$pc+128
 Dump of assembler code from 0x9d7560 to 0x9d75e0:
 => 0x00000000009d7560 <ff_imdct_half_sse+0>:    push   %rdi
    0x00000000009d7561 <ff_imdct_half_sse+1>:    push   %rsi
    0x00000000009d7562 <ff_imdct_half_sse+2>:    sub    $0x30,%rsp
    0x00000000009d7566 <ff_imdct_half_sse+6>:    movaps %xmm7,0x18(%rsp)
    0x00000000009d756b <ff_imdct_half_sse+11>:   movaps %xmm6,0x8(%rsp)
    0x00000000009d7570 <ff_imdct_half_sse+16>:   push   %r12
    0x00000000009d7572 <ff_imdct_half_sse+18>:   push   %r13
    0x00000000009d7574 <ff_imdct_half_sse+20>:   push   %r14
    0x00000000009d7576 <ff_imdct_half_sse+22>:   mov    0x18(%rcx),%r9d
    0x00000000009d757a <ff_imdct_half_sse+26>:   add    %r9,%r8
    0x00000000009d757d <ff_imdct_half_sse+29>:   shr    %r9
    0x00000000009d7580 <ff_imdct_half_sse+32>:   mov    0x20(%rcx),%r11
    0x00000000009d7584 <ff_imdct_half_sse+36>:   mov    0x28(%rcx),%r12
    0x00000000009d7588 <ff_imdct_half_sse+40>:   add    %r9,%r11
    0x00000000009d758b <ff_imdct_half_sse+43>:   add    %r9,%r12
    0x00000000009d758e <ff_imdct_half_sse+46>:   shr    %r9
    0x00000000009d7591 <ff_imdct_half_sse+49>:   mov    0x8(%rcx),%r10
    0x00000000009d7595 <ff_imdct_half_sse+53>:   add    %r9,%r10
    0x00000000009d7598 <ff_imdct_half_sse+56>:   sub    $0x4,%r9
    0x00000000009d759c <ff_imdct_half_sse+60>:   xor    %rdi,%rdi
    0x00000000009d759f <ff_imdct_half_sse+63>:   sub    %r9,%rdi
    0x00000000009d75a2 <ff_imdct_half_sse.pre+0>:        movaps
 (%r8,%r9,4),%xmm0
    0x00000000009d75a7 <ff_imdct_half_sse.pre+5>:        movaps
 -0x10(%r8,%rdi,4),%xmm1
    0x00000000009d75ad <ff_imdct_half_sse.pre+11>:       movaps %xmm0,%xmm2
    0x00000000009d75b0 <ff_imdct_half_sse.pre+14>:       shufps
 $0x88,%xmm1,%xmm0
    0x00000000009d75b4 <ff_imdct_half_sse.pre+18>:       shufps
 $0x77,%xmm2,%xmm1
    0x00000000009d75b8 <ff_imdct_half_sse.pre+22>:       movlps
 (%r11,%r9,2),%xmm4
    0x00000000009d75bd <ff_imdct_half_sse.pre+27>:       movlps
 (%r12,%r9,2),%xmm5
    0x00000000009d75c2 <ff_imdct_half_sse.pre+32>:       movhps
 -0x8(%r11,%rdi,2),%xmm4
    0x00000000009d75c8 <ff_imdct_half_sse.pre+38>:       movhps
 -0x8(%r12,%rdi,2),%xmm5
    0x00000000009d75ce <ff_imdct_half_sse.pre+44>:       movaps %xmm0,%xmm2
    0x00000000009d75d1 <ff_imdct_half_sse.pre+47>:       movaps %xmm1,%xmm3
    0x00000000009d75d4 <ff_imdct_half_sse.pre+50>:       mulps  %xmm5,%xmm0
    0x00000000009d75d7 <ff_imdct_half_sse.pre+53>:       mulps  %xmm4,%xmm1
    0x00000000009d75da <ff_imdct_half_sse.pre+56>:       mulps  %xmm4,%xmm2
    0x00000000009d75dd <ff_imdct_half_sse.pre+59>:       mulps  %xmm5,%xmm3
 End of assembler dump.
 (gdb) info registers
 rax            0x3e95a40        65624640
 rbx            0x3e92a3c        65612348
 rcx            0x3e95a40        65624640
 rdx            0x3e92a3c        65612348
 rsi            0x400    1024
 rdi            0x1000   4096
 rbp            0x3e91a3c        0x3e91a3c
 rsp            0x22dd68 0x22dd68
 r8             0x3e8da3c        65591868
 r9             0x38d780 3725184
 r10            0x800    2048
 r11            0x4      4
 r12            0x0      0
 r13            0x0      0
 r14            0x29     41
 r15            0x3e85560        65557856
 rip            0x9d7560 0x9d7560 <ff_imdct_half_sse>
 eflags         0x206    [ PF IF ]
 cs             0x33     51
 ss             0x206002b        33947691
 ds             0x0      0
 es             0x0      0
 fs             0x0      0
 gs             0x2b0000 2818048
 (gdb) s
 Single stepping until exit from function ff_imdct_half_sse,
 which has no line number information.

 Breakpoint 2, 0x00000000009d75a2 in ff_imdct_half_sse.pre ()
 (gdb) bt
 #0  0x00000000009d75a2 in ff_imdct_half_sse.pre ()
 #1  0x0000000000000029 in ?? ()
 #2  0x0000000000000000 in ?? ()
 (gdb) info registers
 rax            0x3e95a40        65624640
 rbx            0x3e92a3c        65612348
 rcx            0x3e95a40        65624640
 rdx            0x3e92a3c        65612348
 rsi            0x400    1024
 rdi            0xfffffffffffffc04       -1020
 rbp            0x3e91a3c        0x3e91a3c
 rsp            0x22dd10 0x22dd10
 r8             0x3e8ea3c        65595964
 r9             0x3fc    1020
 r10            0x38e660 3728992
 r11            0x3efaca0        66038944
 r12            0x3efbca0        66043040
 r13            0x0      0
 r14            0x29     41
 r15            0x3e85560        65557856
 rip            0x9d75a2 0x9d75a2 <ff_imdct_half_sse.pre>
 eflags         0x293    [ CF AF SF IF ]
 cs             0x33     51
 ss             0x293002b        43188267
 ds             0x0      0
 es             0x0      0
 fs             0x0      0
 gs             0x2b0000 2818048
 xmm0 = 0
 (gdb) s
 Single stepping until exit from function ff_imdct_half_sse.pre,
 which has no line number information.

 Program received signal SIGSEGV, Segmentation fault.
 0x00000000009d75a2 in ff_imdct_half_sse.pre ()
 (gdb) bt
 #0  0x00000000009d75a2 in ff_imdct_half_sse.pre ()
 #1  0x0000000000000029 in ?? ()
 #2  0x0000000000000000 in ?? ()

 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/588#comment:3>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list