[FFmpeg-trac] #392(undetermined:open): ffplay segfaults trying any video format

FFmpeg trac at avcodec.org
Sun Aug 14 02:28:06 CEST 2011


#392: ffplay segfaults trying any video format
----------------------------+---------------------------
Reporter:  01micko          |       Owner:  michael
    Type:  defect           |      Status:  open
Priority:  normal           |   Component:  undetermined
 Version:  unspecified      |  Resolution:
Keywords:  segfault, video  |  Blocked By:
Blocking:                   |  Reproduced:  0
Analyzed:  0                |
----------------------------+---------------------------

Comment (by 01micko):

 Hi there

 Ok, compiled "--prefix=/usr --enable-small" and ffmpeg segfaults, so not
 just ffplay.
 {{{
 19032010.mp4
 batchrename
 hottest-guitar-lessons-i-have-ever-seen.wmv
 "Judas Priest - Breaking The Law".320x240.mp4
 narwhals.mp4
 nvid
 testvid
 "The Angels (Angel City)-Marseilles".320x240.mp4
 "The Angels - Dogs Are Talking".640x360.mp4
 "The Angels - Let The Night Roll On".640x360.mp4
 "The Angels - No Secrets (1980)".640x360.mp4
 vid
 whoisit.amv
 Who Is It.WMV
 # ffmpeg -i '"The Angels (Angel City)-Marseilles".320x240.mp4'
 Marseilles.avi
 ffmpeg version 0.8.2, Copyright (c) 2000-2011 the FFmpeg developers
   built on Aug 14 2011 10:08:33 with gcc 4.5.2
   configuration: --prefix=/usr --enable-small
   libavutil    51.  9. 1 / 51.  9. 1
   libavcodec   53.  7. 0 / 53.  7. 0
   libavformat  53.  4. 0 / 53.  4. 0
   libavdevice  53.  1. 1 / 53.  1. 1
   libavfilter   2. 23. 0 /  2. 23. 0
   libswscale    2.  0. 0 /  2.  0. 0

 Seems stream 1 codec frame rate differs from container frame rate:
 50000.00 (50000/1) -> 25.00 (25/1)
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '"The Angels (Angel
 City)-Marseilles".320x240.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isomavc1mp42
     creation_time   : 2008-04-26 03:38:37
   Duration: 00:07:44.00, start: 0.000000, bitrate: 359 kb/s
     Stream #0.0(und): Audio: aac, 44100 Hz, stereo, s16, 125 kb/s
     Metadata:
       creation_time   : 2008-04-26 03:38:37
     Stream #0.1(und): Video: h264, yuv420p, 320x240 [PAR 1:1 DAR 4:3], 231
 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc
     Metadata:
       creation_time   : 2008-04-26 03:38:37
 Segmentation fault
 # gdb ffmpeg_g
 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 "i486-slackware-linux".
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>...
 Reading symbols from /usr/bin/ffmpeg_g...done.
 (gdb) r  -i '"The Angels (Angel City)-Marseilles".320x240.mp4'
 Marseilles.avi
 Starting program: /usr/bin/ffmpeg_g -i '"The Angels (Angel
 City)-Marseilles".320x240.mp4' Marseilles.avi
 [Thread debugging using libthread_db enabled]
 ffmpeg version 0.8.2, Copyright (c) 2000-2011 the FFmpeg developers
   built on Aug 14 2011 10:08:33 with gcc 4.5.2
   configuration: --prefix=/usr --enable-small
   libavutil    51.  9. 1 / 51.  9. 1
   libavcodec   53.  7. 0 / 53.  7. 0
   libavformat  53.  4. 0 / 53.  4. 0
   libavdevice  53.  1. 1 / 53.  1. 1
   libavfilter   2. 23. 0 /  2. 23. 0
   libswscale    2.  0. 0 /  2.  0. 0

 Seems stream 1 codec frame rate differs from container frame rate:
 50000.00 (50000/1) -> 25.00 (25/1)
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '"The Angels (Angel
 City)-Marseilles".320x240.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isomavc1mp42
     creation_time   : 2008-04-26 03:38:37
   Duration: 00:07:44.00, start: 0.000000, bitrate: 359 kb/s
     Stream #0.0(und): Audio: aac, 44100 Hz, stereo, s16, 125 kb/s
     Metadata:
       creation_time   : 2008-04-26 03:38:37
     Stream #0.1(und): Video: h264, yuv420p, 320x240 [PAR 1:1 DAR 4:3], 231
 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc
     Metadata:
       creation_time   : 2008-04-26 03:38:37
 File 'Marseilles.avi' already exists. Overwrite ? [y/N] y

 Program received signal SIGSEGV, Segmentation fault.
 0xb7d3bb87 in strcmp () from /lib/libc.so.6
 (gdb) bt
 #0  0xb7d3bb87 in strcmp () from /lib/libc.so.6
 #1  0x080819a7 in avfilter_get_by_name (name=0x8312b17 "buffer")
     at libavfilter/avfilter.c:638
 #2  0x0807a620 in configure_video_filters (nb_output_files=1,
     input_files=0x8965408, nb_input_files=1, stream_maps=0x0,
     nb_stream_maps=0, output_files=0x8450a88) at ffmpeg.c:384
 #3  transcode (nb_output_files=1, input_files=0x8965408, nb_input_files=1,
     stream_maps=0x0, nb_stream_maps=0, output_files=0x8450a88) at
 ffmpeg.c:2340
 #4  0x0807c075 in main (argc=<value optimized out>, argv=<value optimized
 out>)
     at ffmpeg.c:4583
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0xb7d3bb67 to 0xb7d3bba7:
    0xb7d3bb67:  nop
    0xb7d3bb68:  nop
    0xb7d3bb69:  nop
    0xb7d3bb6a:  nop
    0xb7d3bb6b:  nop
    0xb7d3bb6c:  nop
    0xb7d3bb6d:  nop
    0xb7d3bb6e:  nop
    0xb7d3bb6f:  nop
    0xb7d3bb70 <strcmp+0>:       push   %ebp
    0xb7d3bb71 <strcmp+1>:       xor    %eax,%eax
    0xb7d3bb73 <strcmp+3>:       mov    %esp,%ebp
    0xb7d3bb75 <strcmp+5>:       push   %edi
    0xb7d3bb76 <strcmp+6>:       mov    0x8(%ebp),%edi
    0xb7d3bb79 <strcmp+9>:       push   %esi
    0xb7d3bb7a <strcmp+10>:      mov    0xc(%ebp),%esi
    0xb7d3bb7d <strcmp+13>:      jmp    0xb7d3bb87 <strcmp+23>
    0xb7d3bb7f <strcmp+15>:      nop
    0xb7d3bb80 <strcmp+16>:      add    $0x1,%eax
    0xb7d3bb83 <strcmp+19>:      cmp    %cl,%dl
    0xb7d3bb85 <strcmp+21>:      jne    0xb7d3bba0 <strcmp+48>
 => 0xb7d3bb87 <strcmp+23>:      movzbl (%edi,%eax,1),%edx
 ---Type <return> to continue, or q <return> to quit---
    0xb7d3bb8b <strcmp+27>:      movzbl (%esi,%eax,1),%ecx
    0xb7d3bb8f <strcmp+31>:      test   %dl,%dl
    0xb7d3bb91 <strcmp+33>:      jne    0xb7d3bb80 <strcmp+16>
    0xb7d3bb93 <strcmp+35>:      movzbl %cl,%eax
    0xb7d3bb96 <strcmp+38>:      neg    %eax
    0xb7d3bb98 <strcmp+40>:      pop    %esi
    0xb7d3bb99 <strcmp+41>:      pop    %edi
    0xb7d3bb9a <strcmp+42>:      pop    %ebp
    0xb7d3bb9b <strcmp+43>:      ret
    0xb7d3bb9c <strcmp+44>:      lea    0x0(%esi,%eiz,1),%esi
    0xb7d3bba0 <strcmp+48>:      movzbl %dl,%eax
    0xb7d3bba3 <strcmp+51>:      movzbl %cl,%ecx
    0xb7d3bba6 <strcmp+54>:      sub    %ecx,%eax
 End of assembler dump.
 (gdb) info all-registers
 eax            0x0      0
 ecx            0x62     98
 edx            0x68     104
 ebx            0x843f4cc        138671308
 esp            0xbfffe880       0xbfffe880
 ebp            0xbfffe888       0xbfffe888
 esi            0x8312b17        137440023
 edi            0x0      0
 eip            0xb7d3bb87       0xb7d3bb87 <strcmp+23>
 eflags         0x210246 [ PF ZF IF RF ID ]
 cs             0x73     115
 ss             0x7b     123
 ds             0x7b     123
 es             0x7b     123
 fs             0x0      0
 gs             0x33     51
 st0            -nan(0x7e7e7e7e7e7e7e7e) (raw 0xffff7e7e7e7e7e7e7e7e)
 st1            -nan(0x7e7e7e7e7e7e7e7e) (raw 0xffff7e7e7e7e7e7e7e7e)
 st2            -nan(0x7e7f808182838384) (raw 0xffff7e7f808182838384)
 st3            -2147483648      (raw 0xc01e8000000000000000)
 st4            123456   (raw 0x400ff120000000000000)
 st5            123456   (raw 0x400ff120000000000000)
 st6            0.00099999999999999999995849538558453928 (raw
 0x3ff583126e978d4fd---Type <return> to continue, or q <return> to quit---
 f3b)
 st7            0.040000000000000000832667268468867405   (raw
 0x3ffaa3d70a3d70a3d800)
 fctrl          0x37f    895
 fstat          0x120    288
 ftag           0xffff   65535
 fiseg          0x0      0
 fioff          0x0      0
 foseg          0x0      0
 fooff          0x0      0
 fop            0x0      0
 xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x23, 0x23, 0x20, 0x17, 0x10 <repeats 12 times>}, v8_int16 =
 {
     0x2323, 0x1720, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010},
   v4_int32 = {0x17202323, 0x10101010, 0x10101010, 0x10101010}, v2_int64 =
 {
     0x1010101017202323, 0x1010101010101010},
   uint128 = 0x10101010101010101010101017202323}
 xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x23, 0x23, 0x20, 0x17, 0x10 <repeats 12 times>}, v8_int16 =
 {
     0x2323, 0x1720, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010},
   v4_int32 = {0x17202323, 0x10101010, 0x10101010, 0x10101010}, v2_int64 =
 {
     0x1010101017202323, 0x1010101010101010},
   uint128 = 0x10101010101010101010101017202323}
 ---Type <return> to continue, or q <return> to quit---
 xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x23, 0x23, 0x20, 0x17, 0x10 <repeats 12 times>}, v8_int16 =
 {
     0x2323, 0x1720, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010},
   v4_int32 = {0x17202323, 0x10101010, 0x10101010, 0x10101010}, v2_int64 =
 {
     0x1010101017202323, 0x1010101010101010},
   uint128 = 0x10101010101010101010101017202323}
 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 = {0x80 <repeats 16 times>}, v8_int16 = {0x8080, 0x8080,
 0x8080,
     0x8080, 0x8080, 0x8080, 0x8080, 0x8080}, v4_int32 = {0x80808080,
     0x80808080, 0x80808080, 0x80808080}, v2_int64 = {0x8080808080808080,
     0x8080808080808080}, uint128 = 0x80808080808080808080808080808080}
 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}
 ---Type <return> to continue, or q <return> to quit---
 xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x4 <repeats 16 times>}, v8_int16 = {0x404, 0x404, 0x404,
 0x404,
     0x404, 0x404, 0x404, 0x404}, v4_int32 = {0x4040404, 0x4040404,
 0x4040404,
     0x4040404}, v2_int64 = {0x404040404040404, 0x404040404040404},
   uint128 = 0x04040404040404040404040404040404}
 mxcsr          0x1f80   [ IM DM ZM OM UM PM ]
 mm0            {uint64 = 0x7e7e7e7e7e7e7e7e, v2_int32 = {0x7e7e7e7e,
     0x7e7e7e7e}, v4_int16 = {0x7e7e, 0x7e7e, 0x7e7e, 0x7e7e}, v8_int8 =
 {0x7e,
     0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e}}
 mm1            {uint64 = 0x7e7e7e7e7e7e7e7e, v2_int32 = {0x7e7e7e7e,
     0x7e7e7e7e}, v4_int16 = {0x7e7e, 0x7e7e, 0x7e7e, 0x7e7e}, v8_int8 =
 {0x7e,
     0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e}}
 mm2            {uint64 = 0x7e7f808182838384, v2_int32 = {0x82838384,
     0x7e7f8081}, v4_int16 = {0x8384, 0x8283, 0x8081, 0x7e7f}, v8_int8 =
 {0x84,
     0x83, 0x83, 0x82, 0x81, 0x80, 0x7f, 0x7e}}
 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 = 0xf120000000000000, v2_int32 = {0x0, 0xf1200000},
   v4_int16 = {0x0, 0x0, 0x0, 0xf120}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0,
     0x20, 0xf1}}
 mm5            {uint64 = 0xf120000000000000, v2_int32 = {0x0, 0xf1200000},
   v4_int16 = {0x0, 0x0, 0x0, 0xf120}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0,
 ---Type <return> to continue, or q <return> to quit---
     0x20, 0xf1}}
 mm6            {uint64 = 0x83126e978d4fdf3b, v2_int32 = {0x8d4fdf3b,
     0x83126e97}, v4_int16 = {0xdf3b, 0x8d4f, 0x6e97, 0x8312}, v8_int8 =
 {0x3b,
     0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83}}
 mm7            {uint64 = 0xa3d70a3d70a3d800, v2_int32 = {0x70a3d800,
     0xa3d70a3d}, v4_int16 = {0xd800, 0x70a3, 0xa3d, 0xa3d7}, v8_int8 =
 {0x0,
     0xd8, 0xa3, 0x70, 0x3d, 0xa, 0xd7, 0xa3}}
 (gdb)

 }}}

 Hope this helps
 Regards
 Michael Amadio

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


More information about the FFmpeg-trac mailing list