New submission from Kyle <[email protected]>:

I get a segfault whenever I try to access flv files that have avc1/h264 video.
This began with the commit that had the following change: "flvdec: read index
stored in the 'keyframes' tag."

kyle@ATHLONII-2100:/usr/src/libav$ gdb ffprobe_g
GNU gdb (GDB) 7.2-ubuntu
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 "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/src/libav/ffprobe_g...done.
(gdb) r "/home/kyle/Videos/Degrassi/1041 - Chasing Pavements, Part 1 (4).flv"
Starting program: /usr/src/libav/ffprobe_g "/home/kyle/Videos/Degrassi/1041 -
Chasing Pavements, Part 1 (4).flv"
[Thread debugging using libthread_db enabled]
FFprobe version git-faa6f1c, Copyright (c) 2007-2011 the Libav developers
  built on Mar 18 2011 20:15:11 with gcc 4.4.5
  configuration: --prefix=/usr --enable-gpl --enable-version3 --enable-nonfree
--enable-shared --enable-postproc --enable-libx264 --enable-frei0r
--enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libdc1394 --enable-libmp3lame --enable-libtheora --enable-libopenjpeg
--enable-libdirac --enable-libvpx --enable-libgsm --enable-libschroedinger
--enable-libspeex --enable-libvorbis --enable-libxvid --enable-libfaac
--cpu=amdfam10 --arch=x86_64 --enable-x11grab --enable-libxavs --enable-libnut
  libavutil    50. 39. 0 / 50. 39. 0
  libavcodec   52.114. 0 / 52.117. 0
  libavformat  52.103. 0 / 52.104. 0
  libavdevice  52.  2. 3 / 52.  4. 0
  libavfilter   1. 76. 0 /  1. 77. 0
  libswscale    0. 12. 0 /  0. 12. 0
  libpostproc  51.  2. 0 / 51.  2. 0

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff76f3929 in amf_parse_object (s=0x61d360, 
    astream=<value optimized out>, vstream=0x0, key=0x0, max_pos=518, 
    depth=<value optimized out>) at libavformat/flvdec.c:214
214                 if (!strcmp(KEYFRAMES_TAG, key) && depth == 1)

(gdb) bt
#0  0x00007ffff76f3929 in amf_parse_object (s=0x61d360, 
    astream=<value optimized out>, vstream=0x0, key=0x0, max_pos=518, 
    depth=<value optimized out>) at libavformat/flvdec.c:214
#1  0x00007ffff76f365c in amf_parse_object (s=0x61d360, 
    astream=<value optimized out>, vstream=<value optimized out>, 
    key=<value optimized out>, max_pos=518, depth=<value optimized out>)
    at libavformat/flvdec.c:246
#2  0x00007ffff76f380e in amf_parse_object (s=0x61d360, 
    astream=<value optimized out>, vstream=0x61e3c0, 
    key=<value optimized out>, max_pos=518, depth=<value optimized out>)
    at libavformat/flvdec.c:235
#3  0x00007ffff76f482e in flv_read_metabody (s=0x61d360, 
    pkt=<value optimized out>) at libavformat/flvdec.c:304
#4  flv_read_packet (s=0x61d360, pkt=<value optimized out>)
    at libavformat/flvdec.c:403
#5  0x00007ffff776250f in av_read_packet (s=0x61d360, pkt=0x7fffffffdc10)
    at libavformat/utils.c:705
#6  0x00007ffff7763c99 in av_read_frame_internal (s=0x61d360, 
    pkt=0x7fffffffdeb0) at libavformat/utils.c:1151
#7  0x00007ffff77649d0 in av_find_stream_info (ic=0x61d360)
    at libavformat/utils.c:2313
#8  0x0000000000402a7f in open_input_file (argc=<value optimized out>, 
    argv=<value optimized out>) at ffprobe.c:275
#9  probe_file (argc=<value optimized out>, argv=<value optimized out>)
    at ffprobe.c:305
#10 main (argc=<value optimized out>, argv=<value optimized out>)
    at ffprobe.c:407

(gdb) info all-registers
rax            0x7ffff76f3918   140737344649496
rbx            0x625370 6443888
rcx            0xa      10
rdx            0xfffffffffff77c08       -558072
rsi            0x7ffff777bc62   140737345207394
rdi            0x0      0
rbp            0x61d360 0x61d360
rsp            0x7fffffffd1f0   0x7fffffffd1f0
r8             0x206    518
r9             0x2      2
r10            0x2      2
r11            0x53     83
r12            0x206    518
r13            0x3      3
r14            0x0      0
r15            0x0      0
rip            0x7ffff76f3929   0x7ffff76f3929 <amf_parse_object+937>
eflags         0x10297  [ CF PF AF SF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
st0            -nan(0x000000033)        (raw 0xffff0000000000000033)
st1            -nan(0x00000000d)        (raw 0xffff000000000000000d)
st2            -inf     (raw 0xffff0000000000000000)
st3            -nan(0x10000000000000)   (raw 0xffff0010000000000000)
st4            0        (raw 0x00000000000000000000)
st5            0        (raw 0x00000000000000000000)
st6            -nan(0x5888000000000000) (raw 0xffff5888000000000000)
st7            -nan(0x000000002)        (raw 0xffff0000000000000002)
fctrl          0x37f    895
fstat          0x0      0
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 = {0x0 <repeats 11 times>, 0xff, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {
    0x0, 0x0, 0x0, 0x0, 0x0, 0xff00, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 
    0xff000000, 0x0}, v2_int64 = {0x0, 0xff000000}, 
  uint128 = 0x00000000ff0000000000000000000000}
xmm1           {v4_float = {0x0, 0x2, 0x0, 0x0}, v2_double = {0x2, 0x0}, 
  v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x4000, 0x0, 0x0, 0x0, 
    0x0}, v4_int32 = {0x0, 0x40000000, 0x0, 0x0}, v2_int64 = {
    0x4000000000000000, 0x0}, uint128 = 0x00000000000000004000000000000000}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 
    0x8000000000000000}, v16_int8 = {0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 
    0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff}, v8_int16 = {0xff00, 0x0, 
    0xff00, 0x0, 0xff, 0x0, 0x0, 0xffff}, v4_int32 = {0xff00, 0xff00, 0xff, 
    0xffff0000}, v2_int64 = {0xff000000ff00, 0xffff0000000000ff}, 
  uint128 = 0xffff0000000000ff0000ff000000ff00}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 
    0x0, 0x0, 0xff, 0x0}, v8_int16 = {0x0, 0x0, 0xff00, 0x0, 0x0, 0xff, 0x0, 
    0xff}, v4_int32 = {0x0, 0xff00, 0xff0000, 0xff0000}, v2_int64 = {
    0xff0000000000, 0xff000000ff0000}, 
  uint128 = 0x00ff000000ff00000000ff0000000000}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
    0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x5f, 0x73, 0x65, 
    0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x0, 0x61, 
    0x75}, v8_int16 = {0x735f, 0x7265, 0x6976, 0x6563, 0x745f, 0x7079, 0x65, 
    0x7561}, v4_int32 = {0x7265735f, 0x65636976, 0x7079745f, 0x75610065}, 
  v2_int64 = {0x656369767265735f, 0x756100657079745f}, 
  uint128 = 0x756100657079745f656369767265735f}
xmm5           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0, 0x0, 0x0, 0xe0, 0x95, 0x9c, 0xe7, 0x3f, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0xe000, 0x9c95, 0x3fe7, 0x0, 0x0, 
    0x0, 0x0}, v4_int32 = {0xe0000000, 0x3fe79c95, 0x0, 0x0}, v2_int64 = {
    0x3fe79c95e0000000, 0x0}, uint128 = 0x00000000000000003fe79c95e0000000}
xmm6           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x1, 0x0}, 
  v16_int8 = {0x6d, 0x7d, 0xbf, 0xbb, 0x27, 0xaf, 0xf5, 0x3f, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x7d6d, 0xbbbf, 0xaf27, 0x3ff5, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0xbbbf7d6d, 0x3ff5af27, 0x0, 0x0}, v2_int64 = {
    0x3ff5af27bbbf7d6d, 0x0}, uint128 = 0x00000000000000003ff5af27bbbf7d6d}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x68, 0xc8, 0xbc, 0x3b, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0xc868, 0x3bbc, 0x0, 0x0, 0x0, 
    0x0}, v4_int32 = {0x0, 0x3bbcc868, 0x0, 0x0}, v2_int64 = {
    0x3bbcc86800000000, 0x0}, uint128 = 0x00000000000000003bbcc86800000000}
xmm8           {v4_float = {0x0, 0xfffffffd, 0x0, 0x0}, v2_double = {
    0xffffffffffffffd2, 0x0}, v16_int8 = {0xe0, 0xe6, 0x35, 0x67, 0x9e, 0x6, 
    0x47, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0xe6e0, 
    0x6735, 0x69e, 0xc047, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x6735e6e0, 
    0xc047069e, 0x0, 0x0}, v2_int64 = {0xc047069e6735e6e0, 0x0}, 
  uint128 = 0x0000000000000000c047069e6735e6e0}
xmm9           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x1, 0x0}, 
  v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x3f, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x3ff0, 0x0, 0x0, 0x0, 
    0x0}, v4_int32 = {0x0, 0x3ff00000, 0x0, 0x0}, v2_int64 = {
    0x3ff0000000000000, 0x0}, uint128 = 0x00000000000000003ff0000000000000}
xmm10          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0, 0x0, 0x46, 0x84, 0x24, 0x59, 0xd6, 0x3e, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x8446, 0x5924, 0x3ed6, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x84460000, 0x3ed65924, 0x0, 0x0}, v2_int64 = {
    0x3ed6592484460000, 0x0}, uint128 = 0x00000000000000003ed6592484460000}
xmm11          {v4_float = {0x9689a800, 0x0, 0x0, 0x0}, v2_double = {0x0, 
    0x0}, v16_int8 = {0x6a, 0xa2, 0x65, 0x50, 0xf2, 0xea, 0x8f, 0xbd, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0xa26a, 0x5065, 0xeaf2, 
    0xbd8f, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x5065a26a, 0xbd8feaf2, 0x0, 
    0x0}, v2_int64 = {0xbd8feaf25065a26a, 0x0}, 
  uint128 = 0x0000000000000000bd8feaf25065a26a}
xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x29, 0xf2, 0x88, 0x6c, 0xa6, 0x49, 0xde, 0x3e, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0xf229, 0x6c88, 0x49a6, 0x3ede, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x6c88f229, 0x3ede49a6, 0x0, 0x0}, v2_int64 = {
    0x3ede49a66c88f229, 0x0}, uint128 = 0x00000000000000003ede49a66c88f229}
xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0xb3, 0x12, 0x58, 0x17, 0x64, 0x46, 0xe6, 0x3b, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x12b3, 0x1758, 0x4664, 0x3be6, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x175812b3, 0x3be64664, 0x0, 0x0}, v2_int64 = {
    0x3be64664175812b3, 0x0}, uint128 = 0x00000000000000003be64664175812b3}
xmm14          {v4_float = {0x0, 0x3, 0x0, 0x0}, v2_double = {0x2d, 0x0}, 
  v16_int8 = {0xc0, 0x9, 0xf2, 0x16, 0xb5, 0xdf, 0x46, 0x40, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x9c0, 0x16f2, 0xdfb5, 0x4046, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x16f209c0, 0x4046dfb5, 0x0, 0x0}, v2_int64 = {
    0x4046dfb516f209c0, 0x0}, uint128 = 0x00000000000000004046dfb516f209c0}
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          0x1fa0   [ PE IM DM ZM OM UM PM ]

I was unable to get the "disass $pc-32 $pc+32" output since every time I tried
the command I got "A syntax error in expression, near '$pc+32'."
File '1041 - Chasing Pavements, Part 1 (4).flv' not attached - you can download 
it from https://roundup.libav.org/file1376.

----------
files: 1041 - Chasing Pavements, Part 1 (4).flv
messages: 13914
priority: normal
status: new
substatus: new
title: segmentation fault when accessing files that use
type: bug

______________________________________________
Libav issue tracker <[email protected]>
<https://roundup.libav.org/issue2674>
______________________________________________

Reply via email to