[FFmpeg-trac] #6779(swresample:new): resampler=soxr:tsf=s32 failed

FFmpeg trac at avcodec.org
Thu Oct 26 17:49:35 EEST 2017


#6779: resampler=soxr:tsf=s32 failed
------------------------------------+--------------------------------------
             Reporter:  omniplex    |                    Owner:
                 Type:  defect      |                   Status:  new
             Priority:  minor       |                Component:  swresample
              Version:  git-master  |               Resolution:
             Keywords:              |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+--------------------------------------
Changes (by cehoyos):

 * keywords:  audio sample formats =>
 * priority:  normal => minor
 * version:  unspecified => git-master
 * component:  undetermined => swresample


Comment:

 Feel free to test with `tsf=s32p` but I get a crash here with a simplified
 command line:
 {{{
 $ valgrind ./ffmpeg_g -f lavfi -i sine=r=96000 -af
 aresample=48000:ocl=downmix:tsf=s32p -f null -
 ==19549== Memcheck, a memory error detector
 ==19549== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
 ==19549== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright
 info
 ==19549== Command: ./ffmpeg_g -f lavfi -i sine=r=44100 -af
 aresample=48000:precision=28:ocl=downmix:cheby=1:tsf=s32p -f null -
 ==19549==
 ffmpeg version N-88151-ga07ac93 Copyright (c) 2000-2017 the FFmpeg
 developers
   built with gcc 6.3.0 (GCC)
   configuration: --enable-gpl
   libavutil      56.  0.100 / 56.  0.100
   libavcodec     58.  0.100 / 58.  0.100
   libavformat    58.  0.101 / 58.  0.101
   libavdevice    58.  0.100 / 58.  0.100
   libavfilter     7.  0.100 /  7.  0.100
   libswscale      5.  0.100 /  5.  0.100
   libswresample   3.  0.100 /  3.  0.100
   libpostproc    55.  0.100 / 55.  0.100
 Input #0, lavfi, from 'sine=r=44100':
   Duration: N/A, start: 0.000000, bitrate: 705 kb/s
     Stream #0:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
 Press [q] to stop, [?] for help
 ==19549== Invalid read of size 4
 ==19549==    at 0xFF6D80: copy_s32 (rematrix_template.c:65)
 ==19549==    by 0xFF737F: swri_rematrix (rematrix.c:516)
 ==19549==    by 0xFF898C: swr_convert_internal.part.3 (swresample.c:643)
 ==19549==    by 0xFF938C: swr_convert (swresample.c:748)
 ==19549==    by 0x5B45FE: filter_frame (af_aresample.c:217)
 ==19549==    by 0x4C24D9: ff_filter_activate (avfilter.c:1104)
 ==19549==    by 0x4C6B4B: av_buffersrc_add_frame_internal
 (buffersrc.c:181)
 ==19549==    by 0x4C6FFC: av_buffersrc_add_frame_flags (buffersrc.c:164)
 ==19549==    by 0x4A0E26: send_frame_to_filters (ffmpeg.c:2216)
 ==19549==    by 0x4A11E3: decode_audio (ffmpeg.c:2364)
 ==19549==    by 0x4A2DCC: process_input_packet (ffmpeg.c:2646)
 ==19549==    by 0x481866: main (ffmpeg.c:4450)
 ==19549==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
 ==19549==
 ==19549==
 ==19549== Process terminating with default action of signal 11 (SIGSEGV)
 ==19549==  Access not within mapped region at address 0x0
 ==19549==    at 0xFF6D80: copy_s32 (rematrix_template.c:65)
 ==19549==    by 0xFF737F: swri_rematrix (rematrix.c:516)
 ==19549==    by 0xFF898C: swr_convert_internal.part.3 (swresample.c:643)
 ==19549==    by 0xFF938C: swr_convert (swresample.c:748)
 ==19549==    by 0x5B45FE: filter_frame (af_aresample.c:217)
 ==19549==    by 0x4C24D9: ff_filter_activate (avfilter.c:1104)
 ==19549==    by 0x4C6B4B: av_buffersrc_add_frame_internal
 (buffersrc.c:181)
 ==19549==    by 0x4C6FFC: av_buffersrc_add_frame_flags (buffersrc.c:164)
 ==19549==    by 0x4A0E26: send_frame_to_filters (ffmpeg.c:2216)
 ==19549==    by 0x4A11E3: decode_audio (ffmpeg.c:2364)
 ==19549==    by 0x4A2DCC: process_input_packet (ffmpeg.c:2646)
 ==19549==    by 0x481866: main (ffmpeg.c:4450)
 ==19549==  If you believe this happened as a result of a stack
 ==19549==  overflow in your program's main thread (unlikely but
 ==19549==  possible), you can try to increase the size of the
 ==19549==  main thread stack using the --main-stacksize= flag.
 ==19549==  The main thread stack size used in this run was 8388608.
 ==19549==
 ==19549== HEAP SUMMARY:
 ==19549==     in use at exit: 257,786 bytes in 187 blocks
 ==19549==   total heap usage: 672 allocs, 485 frees, 276,269 bytes
 allocated
 ==19549==
 ==19549== LEAK SUMMARY:
 ==19549==    definitely lost: 0 bytes in 0 blocks
 ==19549==    indirectly lost: 0 bytes in 0 blocks
 ==19549==      possibly lost: 4,352 bytes in 16 blocks
 ==19549==    still reachable: 253,434 bytes in 171 blocks
 ==19549==         suppressed: 0 bytes in 0 blocks
 ==19549== Rerun with --leak-check=full to see details of leaked memory
 ==19549==
 ==19549== For counts of detected and suppressed errors, rerun with: -v
 ==19549== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 2 from 2)
 Killed
 }}}

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


More information about the FFmpeg-trac mailing list