[FFmpeg-devel] [PATCH 1/2] lavfi/video: ensure that filter_frame is called.

Michael Niedermayer michaelni at gmx.at
Thu Dec 27 10:44:00 CET 2012


On Thu, Dec 27, 2012 at 10:33:41AM +0100, Michael Niedermayer wrote:
> On Thu, Dec 27, 2012 at 08:32:12AM +0100, Nicolas George wrote:
> > Le septidi 7 nivôse, an CCXXI, Michael Niedermayer a écrit :
> > > breaks fate:
> > > 
> > > --- ./tests/ref/lavfi/tile  2012-12-23 16:33:21.097039227 +0100
> > > +++ tests/data/fate/lavfi-tile  2012-12-27 01:01:32.011142221 +0100
> > > @@ -1 +1 @@
> > > -tile                bfd98570151154d078b14398f867f0e8
> > > +tile
> > > \ No newline at end of file
> > > Test lavfi-tile failed. Look at tests/data/fate/lavfi-tile.err for details.
> > > make: *** [fate-lavfi-tile] Error 139
> > > make: *** Waiting for unfinished jobs....
> > 
> > I can not reproduce this here: fate-lavfi-tile passes (both after patch 1/2
> > and 2/2), as IIRC does all FATE with both patches.
> 
> after 1/2: (same happens with or without 2/2, trace is from without)
> make fate-lavfi-tile
> ==27913== Invalid read of size 8
> ==27913==    at 0x4BE036: ff_copy_rectangle2 (drawutils.c:209)
> ==27913==    by 0x4A86CE: filter_frame (vf_tile.c:196)
> ==27913==    by 0x4ACA9E: ff_end_frame (video.c:350)
> ==27913==    by 0x488553: ff_filter_frame (avfilter.c:645)
> ==27913==    by 0x48B091: request_frame (buffersrc.c:372)
> ==27913==    by 0x48B2C5: av_buffersrc_add_ref (buffersrc.c:150)
> ==27913==    by 0x4733BF: output_packet (ffmpeg.c:1672)
> ==27913==    by 0x474260: process_input (ffmpeg.c:2886)
> ==27913==    by 0x464AD6: main (ffmpeg.c:2982)
> ==27913==  Address 0x8 is not stack'd, malloc'd or (recently) free'd

after pull --rebase and both patches:
make fate-lavfi-tile
==12655== Invalid read of size 8
==12655==    at 0x4ACA63: ff_draw_slice (video.c:381)
==12655==    by 0x488547: ff_filter_frame (avfilter.c:643)
==12655==    by 0x48B091: request_frame (buffersrc.c:372)
==12655==    by 0x48B2C5: av_buffersrc_add_ref (buffersrc.c:150)
==12655==    by 0x4733BF: output_packet (ffmpeg.c:1672)
==12655==    by 0x474260: process_input (ffmpeg.c:2886)
==12655==    by 0x464AD6: main (ffmpeg.c:2982)
==12655==  Address 0x10752f60 is 0 bytes inside a block of size 168 free'd
==12655==    at 0x4C2A82E: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==12655==    by 0x48AAEB: avfilter_unref_bufferp (buffer.c:185)
==12655==    by 0x4A8644: filter_frame (vf_tile.c:201)
==12655==    by 0x4ACA53: ff_draw_slice (video.c:375)
==12655==    by 0x488547: ff_filter_frame (avfilter.c:643)
==12655==    by 0x48B091: request_frame (buffersrc.c:372)
==12655==    by 0x48B2C5: av_buffersrc_add_ref (buffersrc.c:150)
==12655==    by 0x4733BF: output_packet (ffmpeg.c:1672)
==12655==    by 0x474260: process_input (ffmpeg.c:2886)
==12655==    by 0x464AD6: main (ffmpeg.c:2982)
==12655==
==12655== Invalid read of size 4
==12655==    at 0x4ACA66: ff_draw_slice (video.c:381)
==12655==    by 0x488547: ff_filter_frame (avfilter.c:643)
==12655==    by 0x48B091: request_frame (buffersrc.c:372)
==12655==    by 0x48B2C5: av_buffersrc_add_ref (buffersrc.c:150)
==12655==    by 0x4733BF: output_packet (ffmpeg.c:1672)
==12655==    by 0x474260: process_input (ffmpeg.c:2886)
==12655==    by 0x464AD6: main (ffmpeg.c:2982)
==12655==  Address 0x10752ea4 is 132 bytes inside a block of size 136 free'd
==12655==    at 0x4C2A82E: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==12655==    by 0x47CDF9: filter_release_buffer (cmdutils.c:1952)
==12655==    by 0x48A97A: avfilter_unref_buffer (buffer.c:171)
==12655==    by 0x48AAEB: avfilter_unref_bufferp (buffer.c:185)
==12655==    by 0x4A8644: filter_frame (vf_tile.c:201)
==12655==    by 0x4ACA53: ff_draw_slice (video.c:375)
==12655==    by 0x488547: ff_filter_frame (avfilter.c:643)
==12655==    by 0x48B091: request_frame (buffersrc.c:372)
==12655==    by 0x48B2C5: av_buffersrc_add_ref (buffersrc.c:150)
==12655==    by 0x4733BF: output_packet (ffmpeg.c:1672)
==12655==    by 0x474260: process_input (ffmpeg.c:2886)
==12655==    by 0x464AD6: main (ffmpeg.c:2982)
==12655==
Assertion link->cur_buf_copy->buf->refcount > 0 failed at libavfilter/video.c:381


[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

DNS cache poisoning attacks, popular search engine, Google internet authority
dont be evil, please
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20121227/d591633a/attachment.asc>


More information about the ffmpeg-devel mailing list