[FFmpeg-trac] #4562(undetermined:open): FFmpeg crashing with Yadif and ac3

FFmpeg trac at avcodec.org
Sat May 16 10:07:35 CEST 2015


#4562: FFmpeg crashing with Yadif and ac3
-------------------------------------+-------------------------------------
             Reporter:  ramitbhalla  |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  important    |                Component:
              Version:  git-master   |  undetermined
             Keywords:  crash        |               Resolution:
  regression SIGSEGV                 |               Blocked By:
             Blocking:               |  Reproduced by developer:  1
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * keywords:   => crash regression SIGSEGV
 * status:  new => open
 * version:  unspecified => git-master
 * reproduced:  0 => 1


Comment:

 Please remember not to use {{{--enable-nonfree}}} when building FFmpeg:
 You are not allowed to distribute the resulting binaries!

 Regression since 98c7729c
 {{{
 $ valgrind ffmpeg_g -i Broken.ts -acodec ac3 -ab 384K -vf yadif=0:-1:1
 out.ts
 ==10703== Memcheck, a memory error detector
 ==10703== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
 ==10703== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright
 info
 ==10703== Command: ffmpeg_g -i Broken.ts -acodec ac3 -ab 384K -vf
 yadif=0:-1:1 out.ts
 ==10703==
 ffmpeg version N-72164-g3a91a07 Copyright (c) 2000-2015 the FFmpeg
 developers
   built with gcc 4.7 (SUSE Linux)
   configuration: --enable-gpl
   libavutil      54. 23.101 / 54. 23.101
   libavcodec     56. 39.100 / 56. 39.100
   libavformat    56. 33.101 / 56. 33.101
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 16.101 /  5. 16.101
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
 Input #0, mpegts, from 'Broken.ts':
   Duration: 00:00:52.00, start: 1.417333, bitrate: 15476 kb/s
   Program 1
     Metadata:
       service_name    : KXASDT (KXAS-DT)
       service_provider: KXASDT
     Stream #0:0[0x100](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000
 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:1[0x101](spa): Audio: ac3 ([129][0][0][0] / 0x0081), 48000
 Hz, stereo, fltp, 192 kb/s
     Stream #0:2[0x102]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
 yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], max. 24000 kb/s, 29.97 fps,
 29.97 tbr, 90k tbn, 59.94 tbc
 Output #0, mpegts, to 'out.ts':
   Metadata:
     encoder         : Lavf56.33.101
     Stream #0:0: Video: mpeg2video, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9],
 q=2-31, 200 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
     Metadata:
       encoder         : Lavc56.39.100 mpeg2video
     Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Metadata:
       encoder         : Lavc56.39.100 ac3
 Stream mapping:
   Stream #0:2 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
   Stream #0:0 -> #0:1 (ac3 (native) -> ac3 (native))
 Press [q] to stop, [?] for help
 [mpeg2video @ 0xbb0f820] ac-tex damaged at 73 2600:00:51.75
 bitrate=2801.2kbits/s dup=24 drop=0
 [mpeg2video @ 0xbb0f820] Warning MVs not available
 [mpeg2video @ 0xbb0f820] concealing 5040 DC, 5040 AC, 5040 MV errors in B
 frame
 [mpeg2video @ 0xbf0f180] AVFrame.format is not set:00:51.85
 bitrate=2795.8kbits/s dup=24 drop=0
 [mpeg2video @ 0xbf0f180] AVFrame.width or height is not set
 ==10703== Invalid read of size 8
 ==10703==    at 0x4C2C558: memcpy@@GLIBC_2.14 (in /usr/lib64/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==10703==    by 0x9CE753: ff_mpv_encode_picture (mpegvideo_enc.c:1187)
 ==10703==    by 0xAF78C6: avcodec_encode_video2 (utils.c:2131)
 ==10703==    by 0x488378: do_video_out (ffmpeg.c:1124)
 ==10703==    by 0x489E1A: reap_filters (ffmpeg.c:1311)
 ==10703==    by 0x48EF0C: transcode (ffmpeg.c:3772)
 ==10703==    by 0x47277A: main (ffmpeg.c:4070)
 ==10703==  Address 0x778 is not stack'd, malloc'd or (recently) free'd
 ==10703==
 ==10703==
 ==10703== Process terminating with default action of signal 11 (SIGSEGV)
 ==10703==  Access not within mapped region at address 0x778
 ==10703==    at 0x4C2C558: memcpy@@GLIBC_2.14 (in /usr/lib64/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==10703==    by 0x9CE753: ff_mpv_encode_picture (mpegvideo_enc.c:1187)
 ==10703==    by 0xAF78C6: avcodec_encode_video2 (utils.c:2131)
 ==10703==    by 0x488378: do_video_out (ffmpeg.c:1124)
 ==10703==    by 0x489E1A: reap_filters (ffmpeg.c:1311)
 ==10703==    by 0x48EF0C: transcode (ffmpeg.c:3772)
 ==10703==    by 0x47277A: main (ffmpeg.c:4070)
 ==10703==  If you believe this happened as a result of a stack
 ==10703==  overflow in your program's main thread (unlikely but
 ==10703==  possible), you can try to increase the size of the
 ==10703==  main thread stack using the --main-stacksize= flag.
 ==10703==  The main thread stack size used in this run was 8388608.
 ==10703==
 ==10703== HEAP SUMMARY:
 ==10703==     in use at exit: 77,103,462 bytes in 1,124 blocks
 ==10703==   total heap usage: 438,452 allocs, 437,328 frees, 5,401,659,862
 bytes allocated
 ==10703==
 ==10703== LEAK SUMMARY:
 ==10703==    definitely lost: 0 bytes in 0 blocks
 ==10703==    indirectly lost: 0 bytes in 0 blocks
 ==10703==      possibly lost: 10,944 bytes in 36 blocks
 ==10703==    still reachable: 77,092,518 bytes in 1,088 blocks
 ==10703==         suppressed: 0 bytes in 0 blocks
 ==10703== Rerun with --leak-check=full to see details of leaked memory
 ==10703==
 ==10703== For counts of detected and suppressed errors, rerun with: -v
 ==10703== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 2 from 2)
 Killed
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4562#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list