[FFmpeg-trac] #4850(swscale:open): Crash when converting to bgra via swscale with fast_bilinear
FFmpeg
trac at avcodec.org
Mon Sep 14 23:04:27 CEST 2015
#4850: Crash when converting to bgra via swscale with fast_bilinear
-------------------------------------+-------------------------------------
Reporter: oromit | Owner:
Type: defect | Status: open
Priority: important | Component: swscale
Version: git-master | Resolution:
Keywords: crash | Blocked By:
SIGSEGV regression | Reproduced by developer: 1
Blocking: |
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Changes (by cehoyos):
* keywords: => crash SIGSEGV regression
* priority: normal => important
* status: new => open
Comment:
Regression since 62d176de1224f6b9921a53171e5daa7460d5a772
{{{
$ valgrind ./ffmpeg_g -cpuflags 0 -f rawvideo -s 7680x4320 -i /dev/zero -s
360x202 -pix_fmt bgra -sws_flags fast_bilinear -f null -
==31919== Memcheck, a memory error detector
==31919== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==31919== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright
info
==31919== Command: ./ffmpeg_g -cpuflags 0 -f rawvideo -s 7680x4320 -i
/dev/zero -s 360x202 -pix_fmt bgra -sws_flags fast_bilinear -f null -
==31919==
ffmpeg version N-75285-g8b47e10 Copyright (c) 2000-2015 the FFmpeg
developers
built with gcc 4.7 (SUSE Linux)
configuration: --enable-gpl
libavutil 55. 2.100 / 55. 2.100
libavcodec 57. 1.100 / 57. 1.100
libavformat 57. 0.100 / 57. 0.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 3.100 / 6. 3.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.100 / 2. 0.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, rawvideo, from '/dev/zero':
Duration: N/A, start: 0.000000, bitrate: 1363345 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 7680x4320,
1363345 kb/s, 25 tbr, 25 tbn, 25 tbc
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf57.0.100
Stream #0:0: Video: rawvideo (BGRA / 0x41524742), bgra, 360x202,
q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc57.1.100 rawvideo
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
==31919== Invalid write of size 2
==31919== at 0xF44959: ff_hyscale_fast_c (hscale_fast_bilinear.c:31)
==31919== by 0xF94BC1: lum_h_scale (hscale.c:39)
==31919== by 0xF30936: swscale (swscale.c:588)
==31919== by 0xF31E45: sws_scale (swscale.c:1263)
==31919== by 0x51AEB7: filter_frame (vf_scale.c:477)
==31919== by 0x4A867D: ff_filter_frame_framed (avfilter.c:1089)
==31919== by 0x4A8B80: default_filter_frame (avfilter.c:1173)
==31919== by 0x4A867D: ff_filter_frame_framed (avfilter.c:1089)
==31919== by 0x4A96A8: ff_filter_frame (avfilter.c:1173)
==31919== by 0x4AD331: request_frame (buffersrc.c:378)
==31919== by 0x4AD59A: av_buffersrc_add_frame_internal
(buffersrc.c:180)
==31919== by 0x4AD92C: av_buffersrc_add_frame_flags (buffersrc.c:105)
==31919== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==31919==
==31919==
==31919== Process terminating with default action of signal 11 (SIGSEGV)
==31919== Access not within mapped region at address 0x0
==31919== at 0xF44959: ff_hyscale_fast_c (hscale_fast_bilinear.c:31)
==31919== by 0xF94BC1: lum_h_scale (hscale.c:39)
==31919== by 0xF30936: swscale (swscale.c:588)
==31919== by 0xF31E45: sws_scale (swscale.c:1263)
==31919== by 0x51AEB7: filter_frame (vf_scale.c:477)
==31919== by 0x4A867D: ff_filter_frame_framed (avfilter.c:1089)
==31919== by 0x4A8B80: default_filter_frame (avfilter.c:1173)
==31919== by 0x4A867D: ff_filter_frame_framed (avfilter.c:1089)
==31919== by 0x4A96A8: ff_filter_frame (avfilter.c:1173)
==31919== by 0x4AD331: request_frame (buffersrc.c:378)
==31919== by 0x4AD59A: av_buffersrc_add_frame_internal
(buffersrc.c:180)
==31919== by 0x4AD92C: av_buffersrc_add_frame_flags (buffersrc.c:105)
==31919== If you believe this happened as a result of a stack
==31919== overflow in your program's main thread (unlikely but
==31919== possible), you can try to increase the size of the
==31919== main thread stack using the --main-stacksize= flag.
==31919== The main thread stack size used in this run was 8388608.
==31919==
==31919== HEAP SUMMARY:
==31919== in use at exit: 50,373,517 bytes in 199 blocks
==31919== total heap usage: 1,710 allocs, 1,511 frees, 50,826,397 bytes
allocated
==31919==
==31919== LEAK SUMMARY:
==31919== definitely lost: 0 bytes in 0 blocks
==31919== indirectly lost: 0 bytes in 0 blocks
==31919== possibly lost: 2,736 bytes in 9 blocks
==31919== still reachable: 50,370,781 bytes in 190 blocks
==31919== suppressed: 0 bytes in 0 blocks
==31919== Rerun with --leak-check=full to see details of leaked memory
==31919==
==31919== For counts of detected and suppressed errors, rerun with: -v
==31919== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 2 from 2)
Killed
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4850#comment:2>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list