Opened 12 years ago

Closed 12 years ago

#592 closed defect (fixed)

ffplay crashes when playing snow

Reported by: Carl Eugen Hoyos Owned by:
Priority: normal Component: ffplay
Version: git-master Keywords: regression snow
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

This is a regression since f6d71b3942ae994ed576de81c9ddba2a08cb6f90

$ make fate-vsynth1-snow

...

(gdb) r tests/data/vsynth1/snow.avi
Starting program: ffplay_g tests/data/vsynth1/snow.avi
[Thread debugging using libthread_db enabled]
ffplay version N-34060-g51bfaa2, Copyright (c) 2003-2011 the FFmpeg developers
  built on Oct 26 2011 13:15:36 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc
  libavutil    51. 22. 0 / 51. 22. 0
  libavcodec   53. 23. 0 / 53. 23. 0
  libavformat  53. 17. 0 / 53. 17. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 45. 0 /  2. 45. 0
  libswscale    2.  1. 0 /  2.  1. 0
[New Thread 0x7ffff5299910 (LWP 18242)]
[New Thread 0x7ffff48e0910 (LWP 18243)]
[avi @ 0x13b00c0] parser not found for codec snow, packets or times may be invalid.
Input #0, avi, from 'tests/data/vsynth1/snow.avi':
  Duration: 00:00:02.00, start: 0.000000, bitrate: 544 kb/s
    Stream #0:0: Video: snow (SNOW / 0x574F4E53), yuv420p, 128x64, 25 tbr, 25 tbn, 25 tbc
[New Thread 0x7ffff40df910 (LWP 18244)]
[New Thread 0x7ffff38de910 (LWP 18245)]
1319627935.86 A-V:  0.000 fd=   0 aq=    0KB vq=   14KB sq=    0B f=0/0
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff40df910 (LWP 18244)]
0x000000000041a9e0 in avfilter_default_get_video_buffer (link=0x13f7360, perms=7, w=128, h=64)
    at libavfilter/defaults.c:48
48                  if (picref && picref->buf->format == link->format && picref->buf->w == w && picref->buf->h == h) {
(gdb) bt
#0  0x000000000041a9e0 in avfilter_default_get_video_buffer (link=0x13f7360, perms=7, w=128, h=64)
    at libavfilter/defaults.c:48
#1  0x0000000000417ef8 in avfilter_get_video_buffer (link=0x13f7360, perms=7, w=128, h=64)
    at libavfilter/avfilter.c:406
#2  0x00000000004063dd in input_get_buffer (codec=0x13edcc0, pic=0x1417a70) at ffplay.c:1565
#3  0x00000000007f55f4 in frame_start (s=0x1415f60) at libavcodec/snow.c:1707
#4  0x000000000080a5c8 in decode_frame (avctx=<value optimized out>, data=0x13ef0c0,
    data_size=0x7ffff40deebc, avpkt=<value optimized out>) at libavcodec/snow.c:1793
#5  0x0000000000832b47 in avcodec_decode_video2 (avctx=0x13edcc0, picture=0x13ef0c0,
    got_picture_ptr=0x7ffff40deebc, avpkt=0x7ffff40dee60) at libavcodec/utils.c:817
#6  0x0000000000409649 in get_video_frame (pkt=0x7ffff40dee60, pts=<value optimized out>,
    frame=0x13ef0c0, is=0x7ffff48e1040) at ffplay.c:1482
#7  input_request_frame (pkt=0x7ffff40dee60, pts=<value optimized out>, frame=0x13ef0c0,
    is=0x7ffff48e1040) at ffplay.c:1655
#8  0x00000000004183d0 in avfilter_request_frame (link=<value optimized out>)
    at libavfilter/avfilter.c:520
#9  0x000000000041ca94 in av_buffersink_get_buffer_ref (ctx=<value optimized out>, bufref=0x7ffff40df080,
    flags=0) at libavfilter/sink_buffer.c:128
#10 0x0000000000408ff3 in video_thread (arg=0x7ffff48e1040) at ffplay.c:1821
#11 0x00007ffff743f3b5 in ?? () from /usr/lib64/libSDL-1.2.so.0
#12 0x00007ffff7482539 in ?? () from /usr/lib64/libSDL-1.2.so.0
#13 0x00007ffff721565d in start_thread () from /lib64/libpthread.so.0
#14 0x00007ffff690aecd in clone () from /lib64/libc.so.6
#15 0x0000000000000000 in ?? ()
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x41a9c0 to 0x41aa00:
0x000000000041a9c0 <avfilter_default_get_video_buffer+48>:      xor    %edx,%edx
0x000000000041a9c2 <avfilter_default_get_video_buffer+50>:      jmp    0x41a9d8 <avfilter_default_get_video_buffer+72>
0x000000000041a9c4 <avfilter_default_get_video_buffer+52>:      nopl   0x0(%rax)
0x000000000041a9c8 <avfilter_default_get_video_buffer+56>:      add    $0x1,%edx
0x000000000041a9cb <avfilter_default_get_video_buffer+59>:      add    $0x8,%rax
0x000000000041a9cf <avfilter_default_get_video_buffer+63>:      cmp    $0x20,%edx
0x000000000041a9d2 <avfilter_default_get_video_buffer+66>:      je     0x41aac0 <avfilter_default_get_video_buffer+304>
0x000000000041a9d8 <avfilter_default_get_video_buffer+72>:      mov    (%rax),%rcx
0x000000000041a9db <avfilter_default_get_video_buffer+75>:      test   %rcx,%rcx
0x000000000041a9de <avfilter_default_get_video_buffer+78>:      je     0x41a9c8 <avfilter_default_get_video_buffer+56>
0x000000000041a9e0 <avfilter_default_get_video_buffer+80>:      mov    (%rcx),%rsi
0x000000000041a9e3 <avfilter_default_get_video_buffer+83>:      cmp    %r8d,0x78(%rsi)
0x000000000041a9e7 <avfilter_default_get_video_buffer+87>:      jne    0x41a9c8 <avfilter_default_get_video_buffer+56>
0x000000000041a9e9 <avfilter_default_get_video_buffer+89>:      cmp    %ebx,0x7c(%rsi)
0x000000000041a9ec <avfilter_default_get_video_buffer+92>:      jne    0x41a9c8 <avfilter_default_get_video_buffer+56>
0x000000000041a9ee <avfilter_default_get_video_buffer+94>:      cmp    %ebp,0x80(%rsi)
0x000000000041a9f4 <avfilter_default_get_video_buffer+100>:     jne    0x41a9c8 <avfilter_default_get_video_buffer+56>
0x000000000041a9f6 <avfilter_default_get_video_buffer+102>:     mov    0x88(%rcx),%rax
0x000000000041a9fd <avfilter_default_get_video_buffer+109>:     movslq %edx,%rdx
End of assembler dump.
(gdb) info register
rax            0x1630900        23267584
rbx            0x80     128
rcx            0xacd9c9b49f928676       -5991536051631257994
rdx            0x0      0
rsi            0x7      7
rdi            0x13f7360        20935520
rbp            0x40     0x40
rsp            0x7ffff40de630   0x7ffff40de630
r8             0x0      0
r9             0xfffffff0       4294967280
r10            0x0      0
r11            0x10     16
r12            0x13f7360        20935520
r13            0x1630900        23267584
r14            0xffffffff       4294967295
r15            0x7ffff40deebc   140737287941820
rip            0x41a9e0 0x41a9e0 <avfilter_default_get_video_buffer+80>
eflags         0x10282  [ SF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
fctrl          0x37f    895
fstat          0x0      0
ftag           0xaaaa   43690
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
mxcsr          0x1fa0   [ PE IM DM ZM OM UM PM ]

Change History (1)

comment:1 by Michael Niedermayer, 12 years ago

Reproduced by developer: set
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.