New submission from Alfred Daw <[email protected]>:

I first found this on MPlayer but tracked it down to revision 25218 ofFFmpeg.

In MPlayer and ffplay when I play a h264 video file and try to skip forward
using the arrow keys, I get the error shown in the backtrace.

Uploaded a sample of the file that breaks it to the samples server "Crash while
seeking in ffmpeg r25218 and newer.mkv".

----------
files: ffmpegbacktrace.txt
messages: 12059
priority: normal
status: new
substatus: new
title: Crash after seeking in h264 videos
type: bug

________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2250>
________________________________________________
[sacar...@wibble:~/src/ffmpeg] $ gdb ./ffplay_g  
GNU gdb 6.8
Copyright (C) 2008 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-slamd64-linux"...
(gdb) r /home/sacarasc/sata1/xchat/\[SGKK\]\ Bleach\ -\ 279\ \(848x480\ h264\ 
AAC\)\ \[49190D22\].mkv 
Starting program: /home/sacarasc/src/ffmpeg/ffplay_g 
/home/sacarasc/sata1/xchat/\[SGKK\]\ Bleach\ -\ 279\ \(848x480\ h264\ AAC\)\ 
\[49190D22\].mkv
[Thread debugging using libthread_db enabled]
FFplay version SVN-r25218, Copyright (c) 2003-2010 the FFmpeg developers
  built on Sep 27 2010 23:33:05 with gcc 4.2.4
  configuration: --prefix=/usr --libdir=/usr/lib64 --enable-gpl 
--enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac 
--enable-libmp3lame --enable-libx264 --enable-libxvid --enable-x11grab 
--disable-vdpau --enable-libopencore-amrnb --enable-libopencore-amrwb
  libavutil     50.29. 0 / 50.29. 0
  libavcore      0. 9. 0 /  0. 9. 0
  libavcodec    52.91. 1 / 52.91. 1
  libavformat   52.78. 5 / 52.78. 5
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.46. 0 /  1.46. 0
  libswscale     0.11. 0 /  0.11. 0
[New Thread 0x7f7a493d6700 (LWP 4552)]
[New Thread 0x42380950 (LWP 4555)]
[New Thread 0x42b81950 (LWP 4556)]
[matroska,webm @ 0x1352df0] max_analyze_duration reached
[matroska,webm @ 0x1352df0] Estimating duration from bitrate, this may be 
inaccurate
Input #0, matroska,webm, from '/home/sacarasc/sata1/xchat/[SGKK] Bleach - 279 
(848x480 h264 AAC) [49190D22].mkv':
  Duration: 00:24:13.36, start: 0.000000, bitrate: N/A
    Chapter #0.0: start 0.000000, end 21.063000
    Metadata:
      title           : Prologue
    Chapter #0.1: start 21.063000, end 111.278000
    Metadata:
      title           : OP
    Chapter #0.2: start 111.278000, end 558.224000
    Metadata:
      title           : Part A
    Chapter #0.3: start 558.224000, end 1309.725000
    Metadata:
      title           : Part B
    Chapter #0.4: start 1309.725000, end 1399.648000
    Metadata:
      title           : ED
    Chapter #0.5: start 1399.648000, end 1453.360000
    Metadata:
      title           : Preview
    Stream #0.0(jpn): Video: h264, yuv420p, 848x480, PAR 160:159 DAR 16:9, 
23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
    Metadata:
      title           : AVC (480p)
    Stream #0.1(jpn): Audio: aac, 48000 Hz, stereo, s16
    Metadata:
      title           : AAC (2 Ch)
    Stream #0.2(eng): Subtitle: [0][0][0][0] / 0x0000
    Metadata:
      title           : ASS
    Stream #0.3: Attachment: [0][0][0][0] / 0x0000
    Metadata:
      filename        : BaskervilleCyrLTStd-Upright.otf
    Stream #0.4: Attachment: [0][0][0][0] / 0x0000
    Metadata:
      filename        : Candara.ttf
    Stream #0.5: Attachment: [0][0][0][0] / 0x0000
    Metadata:
      filename        : Cataneo-BT-Regular.ttf
    Stream #0.6: Attachment: [0][0][0][0] / 0x0000
    Metadata:
      filename        : ClearfaceGothicLTStd-Roman.otf
[New Thread 0x41a80950 (LWP 4557)]
[New Thread 0x43382950 (LWP 4558)]
[New Thread 0x43b83950 (LWP 4559)]
  63.74 A-V: 62.533 s:0.0 aq=  319KB vq= 3245KB sq=    0B f=0/0   f=0/0   
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x43382950 (LWP 4558)]
0x0000000000863f2d in av_image_copy (dst_data=0x1504450, 
dst_linesizes=0x1504470, src_data=0x0, src_linesizes=0x20, pix_fmt=<value 
optimized out>, width=848, 
    height=480) at libavcore/imgutils.c:182
182                 av_image_copy_plane(dst_data[i], dst_linesizes[i],
(gdb) bt
#0  0x0000000000863f2d in av_image_copy (dst_data=0x1504450, 
dst_linesizes=0x1504470, src_data=0x0, src_linesizes=0x20, pix_fmt=<value 
optimized out>, width=848, 
    height=480) at libavcore/imgutils.c:182
#1  0x000000000055588e in decode_slice_header (h=0x14c2e70, h0=0x14c2e70) at 
libavcodec/h264.c:1915
#2  0x000000000055f558 in decode_nal_units (h=0x14c2e70, buf=0x1551970 "", 
buf_size=31501) at libavcodec/h264.c:2851
#3  0x000000000055fd5f in decode_frame (avctx=0x13797f0, data=0x1531d80, 
data_size=0x43381f1c, avpkt=0x0) at libavcodec/h264.c:3012
#4  0x00000000006baac6 in avcodec_decode_video2 (avctx=0x13797f0, 
picture=0x1531d80, got_picture_ptr=0x43381f1c, avpkt=0x43381ed0) at 
libavcodec/utils.c:614
#5  0x000000000040dd9b in input_request_frame (link=0x1531eb0) at ffplay.c:1581
#6  0x0000000000410301 in video_thread (arg=0x7f7a455ad010) at ffplay.c:1813
#7  0x00007f7a475d5587 in ?? () from /usr/lib64/libSDL-1.2.so.0
#8  0x00007f7a47617199 in ?? () from /usr/lib64/libSDL-1.2.so.0
#9  0x00007f7a473ad3f7 in start_thread () from /lib64/libpthread.so.0
#10 0x00007f7a471211dd in clone () from /lib64/libc.so.6
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x863f0d to 0x863f4d:
0x0000000000863f0d <av_image_copy+349>: rex.R and    $0x34,%al
0x0000000000863f10 <av_image_copy+352>: lea    0x7(%rax),%edx
0x0000000000863f13 <av_image_copy+355>: lea    -0x1(%r9),%eax
0x0000000000863f17 <av_image_copy+359>: sar    $0x3,%edx
0x0000000000863f1a <av_image_copy+362>: cmp    $0x1,%eax
0x0000000000863f1d <av_image_copy+365>: jbe    0x8640c4 <av_image_copy+788>
0x0000000000863f23 <av_image_copy+371>: mov    0x38(%rsp),%rsi
0x0000000000863f28 <av_image_copy+376>: mov    0x40(%rsp),%rax
0x0000000000863f2d <av_image_copy+381>: mov    (%rsi,%r9,4),%ecx
0x0000000000863f31 <av_image_copy+385>: mov    0x48(%rsp),%rsi
0x0000000000863f36 <av_image_copy+390>: mov    (%rax,%r9,8),%r12
0x0000000000863f3a <av_image_copy+394>: mov    (%rsi,%r9,4),%eax
0x0000000000863f3e <av_image_copy+398>: mov    0x50(%rsp),%rsi
0x0000000000863f43 <av_image_copy+403>: mov    (%rsi,%r9,8),%rbp
0x0000000000863f47 <av_image_copy+407>: test   %rbp,%rbp
0x0000000000863f4a <av_image_copy+410>: je     0x863f9f <av_image_copy+495>
0x0000000000863f4c <av_image_copy+412>: test   %r12,%r12
End of assembler dump.
(gdb) info all-registers
rax            0x0      0
rbx            0x1e0    480
rcx            0x0      0
rdx            0x350    848
rsi            0x20     32
rdi            0x1504450        22037584
rbp            0x14c2e70        0x14c2e70
rsp            0x43381b70       0x43381b70
r8             0xa927c0 11085760
r9             0x0      0
r10            0x3      3
r11            0x43381be0       1127750624
r12            0x14f6ea4        21982884
r13            0x14c2e70        21769840
r14            0x3      3
r15            0x14c76ac        21788332
rip            0x863f2d 0x863f2d <av_image_copy+381>
eflags         0x10282  [ SF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x63     99
gs             0x0      0
st0            -nan(0x7b7b7a7979797978) (raw 0xffff7b7b7a7979797978)
st1            -nan(0x7b7b7b79797a7a78) (raw 0xffff7b7b7b79797a7a78)
st2            -nan(0x7b7b7a7a7a797979) (raw 0xffff7b7b7a7a7a797979)
st3            -nan(0x10000010100)      (raw 0xffff0000010000010100)
st4            -nan(0x8080808080808080) (raw 0xffff8080808080808080)
st5            -nan(0x10101010101)      (raw 0xffff0000010101010101)
st6            -inf     (raw 0xffff0000000000000000)
st7            -nan(0x202020202020202)  (raw 0xffff0202020202020202)
fctrl          0x37f    895
fstat          0x0      0
ftag           0xffff   65535
fiseg          0x0      0
---Type <return> to continue, or q <return> to quit---
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
xmm0           {v4_float = {0x0, 0x1a, 0x0, 0x0}, v2_double = {0x4ca11c22, 
0x0}, v16_int8 = {0xdc, 0xa0, 0x8e, 0x8, 0x47, 0x28, 0xd3, 0x41, 0x0, 0x0, 0x0, 
0x0, 0x0, 
    0x0, 0x0, 0x0}, v8_int16 = {0xa0dc, 0x88e, 0x2847, 0x41d3, 0x0, 0x0, 0x0, 
0x0}, v4_int32 = {0x88ea0dc, 0x41d32847, 0x0, 0x0}, v2_int64 = 
{0x41d32847088ea0dc, 0x0}, 
  uint128 = 0x000000000000000041d32847088ea0dc}
xmm1           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
v16_int8 = {0x0, 0x2f, 0xdd, 0x24, 0x6, 0x81, 0xa5, 0x3f, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 
    0x0}, v8_int16 = {0x2f00, 0x24dd, 0x8106, 0x3fa5, 0x0, 0x0, 0x0, 0x0}, 
v4_int32 = {0x24dd2f00, 0x3fa58106, 0x0, 0x0}, v2_int64 = {0x3fa5810624dd2f00, 
0x0}, 
  uint128 = 0x00000000000000003fa5810624dd2f00}
xmm2           {v4_float = {0x0, 0xfffffffd, 0x0, 0x0}, v2_double = 
{0xffffffffffffffc2, 0x0}, v16_int8 = {0xbf, 0x58, 0xf2, 0x9d, 0x22, 0x44, 
0x4f, 0xc0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x58bf, 0x9df2, 0x4422, 0xc04f, 
0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x9df258bf, 0xc04f4422, 0x0, 0x0}, v2_int64 = {
    0xc04f44229df258bf, 0x0}, uint128 = 0x0000000000000000c04f44229df258bf}
xmm3           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
v16_int8 = {0x0, 0x2f, 0xdd, 0x24, 0x6, 0x81, 0xa5, 0x3f, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 
    0x0}, v8_int16 = {0x2f00, 0x24dd, 0x8106, 0x3fa5, 0x0, 0x0, 0x0, 0x0}, 
v4_int32 = {0x24dd2f00, 0x3fa58106, 0x0, 0x0}, v2_int64 = {0x3fa5810624dd2f00, 
0x0}, 
  uint128 = 0x00000000000000003fa5810624dd2f00}
xmm4           {v4_float = {0x0, 0x2, 0x0, 0x0}, v2_double = {0xa, 0x0}, 
v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0}, 
  v8_int16 = {0x0, 0x0, 0x0, 0x4024, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 
0x40240000, 0x0, 0x0}, v2_int64 = {0x4024000000000000, 0x0}, 
  uint128 = 0x00000000000000004024000000000000}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
v16_int8 = {0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 
0x1, 0x0, 0x1}, 
  v8_int16 = {0x1, 0x1, 0x100, 0x0, 0x100, 0x100, 0x101, 0x100}, v4_int32 = 
{0x10001, 0x100, 0x1000100, 0x1000101}, v2_int64 = {0x10000010001, 
0x100010101000100}, 
  uint128 = 0x01000101010001000000010000010001}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x0, 
0x0, 0x1, 0x2}, 
  v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x102, 0x0, 0x201}, v4_int32 = {0x0, 
0x0, 0x1020000, 0x2010000}, v2_int64 = {0x0, 0x201000001020000}, 
  uint128 = 0x02010000010200000000000000000000}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
v16_int8 = {0x3 <repeats 16 times>}, v8_int16 = {0x303, 0x303, 0x303, 0x303, 
0x303, 0x303, 
    0x303, 0x303}, v4_int32 = {0x3030303, 0x3030303, 0x3030303, 0x3030303}, 
v2_int64 = {0x303030303030303, 0x303030303030303}, 
  uint128 = 0x03030303030303030303030303030303}
xmm8           {v4_float = {0x0, 0x0, 0x0, 0xfffffe7f}, v2_double = 
{0x8000000000000000, 0xde808a8e98bcea00}, v16_int8 = {0x6f, 0x70, 0x71, 0x73, 
0x73, 0x76, 0x7a, 
    0x7f, 0x8b, 0xa1, 0xb3, 0xb8, 0xba, 0xbf, 0xc0, 0xc3}, v8_int16 = {0x706f, 
0x7371, 0x7673, 0x7f7a, 0xa18b, 0xb8b3, 0xbfba, 0xc3c0}, v4_int32 = 
{0x7371706f, 
    0x7f7a7673, 0xb8b3a18b, 0xc3c0bfba}, v2_int64 = {0x7f7a76737371706f, 
0xc3c0bfbab8b3a18b}, uint128 = 0xc3c0bfbab8b3a18b7f7a76737371706f}
xmm9           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = 
{0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, 
v8_int16 = {0xffff, 
    0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = 
{0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = 
{0xffffffffffffffff, 
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm10          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = 
{0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x69, 0x69, 0x69, 0x6a, 
0x69, 0x68, 0x66, 0x67, 
    0x65, 0x66, 0x66, 0x64, 0x64, 0x61, 0x63, 0x61}, v8_int16 = {0x6969, 
0x6a69, 0x6869, 0x6766, 0x6665, 0x6466, 0x6164, 0x6163}, v4_int32 = 
{0x6a696969, 0x67666869, 
---Type <return> to continue, or q <return> to quit---
    0x64666665, 0x61636164}, v2_int64 = {0x676668696a696969, 
0x6163616464666665}, uint128 = 0x6163616464666665676668696a696969}
xmm11          {v4_float = {0x0, 0x80000000, 0xc0000000, 0xe0000000}, v2_double 
= {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xdb, 0xdb, 0xdb, 0xdb, 
0xdb, 
    0xdb, 0xda, 0xda, 0xda, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9}, v8_int16 
= {0xdbdb, 0xdbdb, 0xdbdb, 0xdada, 0xd9da, 0xd9d9, 0xd9d9, 0xd9d9}, v4_int32 = {
    0xdbdbdbdb, 0xdadadbdb, 0xd9d9d9da, 0xd9d9d9d9}, v2_int64 = 
{0xdadadbdbdbdbdbdb, 0xd9d9d9d9d9d9d9da}, uint128 = 
0xd9d9d9d9d9d9d9dadadadbdbdbdbdbdb}
xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
v16_int8 = {0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 
0x1, 0x0, 0x1}, 
  v8_int16 = {0x101, 0x101, 0x101, 0x0, 0x101, 0x0, 0x100, 0x100}, v4_int32 = 
{0x1010101, 0x101, 0x101, 0x1000100}, v2_int64 = {0x10101010101, 
0x100010000000101}, 
  uint128 = 0x01000100000001010000010101010101}
xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = 
{0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, 
v8_int16 = {0xffff, 
    0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = 
{0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = 
{0xffffffffffffffff, 
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
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, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
v16_int8 = {0x1 <repeats 16 times>}, v8_int16 = {0x101, 0x101, 0x101, 0x101, 
0x101, 0x101, 
    0x101, 0x101}, v4_int32 = {0x1010101, 0x1010101, 0x1010101, 0x1010101}, 
v2_int64 = {0x101010101010101, 0x101010101010101}, 
  uint128 = 0x01010101010101010101010101010101}
mxcsr          0x1fa0   [ PE IM DM ZM OM UM PM ]
(gdb) 

Reply via email to