[FFmpeg-trac] #6732(avfilter:new): libavfilter/showwavespic crash on windows

FFmpeg trac at avcodec.org
Sat Oct 14 20:00:02 EEST 2017


#6732: libavfilter/showwavespic crash on windows
-------------------------------------+-------------------------------------
             Reporter:  mvignali     |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  important    |                Component:  avfilter
              Version:  git-master   |               Resolution:
             Keywords:               |               Blocked By:
  showwavespic crash                 |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * keywords:  showwavespic => showwavespic crash
 * priority:  normal => important


Old description:

> Summary of the bug:
> Generating waveform image with showwavespic from wav or sine generator
> crash ffmpeg.
> Can't reproduce on osx.
>
> Can't reproduce with older build :
> ffmpeg-20161107-34aeb5d-win64-static
>
> How to reproduce:
> {{{
> "C:\ff_debug\ffmpeg-20171013-ad56e80-win64-static\bin\ffmpeg.exe" -f
> lavfi -i "sine=frequency=1000:duration=5" -filter_complex
> showwavespic=s=1000x200:split_channels=1 -frames:v 1 -n
> "C:\ff_debug\Res.png" -loglevel debug
> }}}
>

> Console output
> "C:\ff_debug\ffmpeg-20171013-ad56e80-win64-static\bin\ffmpeg.
> exe" -f lavfi -i "sine=frequency=1000:duration=5" -filter_complex
> showwavespic=s
> =1000x200:split_channels=1 -frames:v 1 -n "C:\ff_debug\Res.png" -loglevel
> debug
> ffmpeg version N-87862-gad56e8057d Copyright (c) 2000-2017 the FFmpeg
> developers
>
>   built with gcc 7.2.0 (GCC)
>   configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-
> bzlib --e
> nable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-
> libblur
> ay --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg
> --enable-libopu
> s --enable-libshine --enable-libsnappy --enable-libsoxr --enable-
> libtheora --ena
> ble-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp
> --enable-lib
> x264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma
> --enable-z
> lib --enable-gmp --enable-libvidstab --enable-cuda --enable-cuvid
> --enable-d3d11
> va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
>   libavutil      55. 79.100 / 55. 79.100
>   libavcodec     57.108.100 / 57.108.100
>   libavformat    57. 84.100 / 57. 84.100
>   libavdevice    57. 11.100 / 57. 11.100
>   libavfilter     6.108.100 /  6.108.100
>   libswscale      4.  9.100 /  4.  9.100
>   libswresample   2. 10.100 /  2. 10.100
>   libpostproc    54.  8.100 / 54.  8.100
> Splitting the commandline.
> Reading option '-f' ... matched as option 'f' (force format) with
> argument 'lavf
> i'.
> Reading option '-i' ... matched as input url with argument
> 'sine=frequency=1000:
> duration=5'.
> Reading option '-filter_complex' ... matched as option 'filter_complex'
> (create
> a complex filtergraph) with argument
> 'showwavespic=s=1000x200:split_channels=1'.
>
> Reading option '-frames:v' ... matched as option 'frames' (set the number
> of fra
> mes to output) with argument '1'.
> Reading option '-n' ... matched as option 'n' (never overwrite output
> files) wit
> h argument '1'.
> Reading option 'C:\ff_debug\Res.png' ... matched as output url.
> Reading option '-loglevel' ... matched as option 'loglevel' (set logging
> level)
> with argument 'debug'.
> Finished splitting the commandline.
> Parsing a group of options: global .
> Applying option filter_complex (create a complex filtergraph) with
> argument show
> wavespic=s=1000x200:split_channels=1.
> Applying option n (never overwrite output files) with argument 1.
> Applying option loglevel (set logging level) with argument debug.
> Successfully parsed a group of options.
> Parsing a group of options: input url sine=frequency=1000:duration=5.
> Applying option f (force format) with argument lavfi.
> Successfully parsed a group of options.
> Opening an input file: sine=frequency=1000:duration=5.
> detected 4 logical cores
> [Parsed_sine_0 @ 00000000007d9d00] Setting 'frequency' to value '1000'
> [Parsed_sine_0 @ 00000000007d9d00] Setting 'duration' to value '5'
> [AVFilterGraph @ 00000000003acf60] query_formats: 2 queried, 3 merged, 0
> already
>  done, 0 delayed
> [lavfi @ 00000000003ac6e0] All info found
> Input #0, lavfi, from 'sine=frequency=1000:duration=5':
>   Duration: N/A, start: 0.000000, bitrate: 705 kb/s
>     Stream #0:0, 1, 1/44100: Audio: pcm_s16le, 44100 Hz, mono, s16, 705
> kb/s
> Successfully opened the file.
> [Parsed_showwavespic_0 @ 00000000007dd9c0] Setting 's' to value
> '1000x200'
> [Parsed_showwavespic_0 @ 00000000007dd9c0] Setting 'split_channels' to
> value '1'
>
> Parsing a group of options: output url C:\ff_debug\Res.png.
> Applying option frames:v (set the number of frames to output) with
> argument 1.
> Successfully parsed a group of options.
> Opening an output file: C:\ff_debug\Res.png.
> Successfully opened the file.
> Stream mapping:
>   Stream #0:0 (pcm_s16le) -> showwavespic
>   showwavespic -> Stream #0:0 (png)
> Press [q] to stop, [?] for help
> cur_dts is invalid (this is harmless if it occurs once at the start per
> stream)
> [Parsed_showwavespic_0 @ 00000000003c34a0] Setting 's' to value
> '1000x200'
> [Parsed_showwavespic_0 @ 00000000003c34a0] Setting 'split_channels' to
> value '1'
>
> [graph_0_in_0_0 @ 00000000003c4340] Setting 'time_base' to value
> '1/44100'
> [graph_0_in_0_0 @ 00000000003c4340] Setting 'sample_rate' to value
> '44100'
> [graph_0_in_0_0 @ 00000000003c4340] Setting 'sample_fmt' to value 's16'
> [graph_0_in_0_0 @ 00000000003c4340] Setting 'channel_layout' to value
> '0x4'
> [graph_0_in_0_0 @ 00000000003c4340] tb:1/44100 samplefmt:s16
> samplerate:44100 ch
> layout:0x4
> [format @ 00000000003c4ec0] compat: called with
> args=[rgb24|rgba|rgb48be|rgba64b
> e|pal8|gray|ya8|gray16be|ya16be|monob]
> [format @ 00000000003c4ec0] Setting 'pix_fmts' to value
> 'rgb24|rgba|rgb48be|rgba
> 64be|pal8|gray|ya8|gray16be|ya16be|monob'
> [AVFilterGraph @ 00000000003c31c0] query_formats: 4 queried, 5 merged, 0
> already
>  done, 0 delayed
> [Parsed_showwavespic_0 @ 00000000003c34a0] s:1000x200 r:44.100000 n:1
> Output #0, image2, to 'C:\ff_debug\Res.png':
>   Metadata:
>     encoder         : Lavf57.84.100
>     Stream #0:0, 0, 10/441: Video: png, 1 reference frame, rgba, 1000x200
> [SAR 1
> :1 DAR 5:1], 0/1, q=2-31, 200 kb/s, 44.10 fps, 44.10 tbn, 44.10 tbc
>     Metadata:
>       encoder         : Lavc57.108.100 png
> cur_dts is invalid (this is harmless if it occurs once at the start per
> stream)
>     Last message repeated 215 times
> [Parsed_sine_0 @ 00000000007d9d00] EOF timestamp not reliable
> [Parsed_showwavespic_0 @ 00000000003c34a0] Create frame averaging 220
> samples pe
> r column
> cur_dts is invalid (this is harmless if it occurs once at the start per
> stream)
> Clipping frame in rate conversion by 0.000008
> No more output streams to write to, finishing.

New description:

 Summary of the bug:
 Generating waveform image with showwavespic from wav or sine generator
 crash ffmpeg.
 Can't reproduce on osx.

 Can't reproduce with older build :
 ffmpeg-20161107-34aeb5d-win64-static

 How to reproduce:
 {{{
 "C:\ff_debug\ffmpeg-20171013-ad56e80-win64-static\bin\ffmpeg.exe" -f lavfi
 -i "sine=frequency=1000:duration=5" -filter_complex
 showwavespic=s=1000x200:split_channels=1 -frames:v 1 -n
 "C:\ff_debug\Res.png" -loglevel debug
 }}}


 Console output
 {{{
 "C:\ff_debug\ffmpeg-20171013-ad56e80-win64-static\bin\ffmpeg.
 exe" -f lavfi -i "sine=frequency=1000:duration=5" -filter_complex
 showwavespic=s
 =1000x200:split_channels=1 -frames:v 1 -n "C:\ff_debug\Res.png" -loglevel
 debug
 ffmpeg version N-87862-gad56e8057d Copyright (c) 2000-2017 the FFmpeg
 developers

   built with gcc 7.2.0 (GCC)
   configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-
 bzlib --e
 nable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-
 libblur
 ay --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-
 libopu
 s --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora
 --ena
 ble-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp
 --enable-lib
 x264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma
 --enable-z
 lib --enable-gmp --enable-libvidstab --enable-cuda --enable-cuvid
 --enable-d3d11
 va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
   libavutil      55. 79.100 / 55. 79.100
   libavcodec     57.108.100 / 57.108.100
   libavformat    57. 84.100 / 57. 84.100
   libavdevice    57. 11.100 / 57. 11.100
   libavfilter     6.108.100 /  6.108.100
   libswscale      4.  9.100 /  4.  9.100
   libswresample   2. 10.100 /  2. 10.100
   libpostproc    54.  8.100 / 54.  8.100
 Splitting the commandline.
 Reading option '-f' ... matched as option 'f' (force format) with argument
 'lavf
 i'.
 Reading option '-i' ... matched as input url with argument
 'sine=frequency=1000:
 duration=5'.
 Reading option '-filter_complex' ... matched as option 'filter_complex'
 (create
 a complex filtergraph) with argument
 'showwavespic=s=1000x200:split_channels=1'.

 Reading option '-frames:v' ... matched as option 'frames' (set the number
 of fra
 mes to output) with argument '1'.
 Reading option '-n' ... matched as option 'n' (never overwrite output
 files) wit
 h argument '1'.
 Reading option 'C:\ff_debug\Res.png' ... matched as output url.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level)
 with argument 'debug'.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option filter_complex (create a complex filtergraph) with
 argument show
 wavespic=s=1000x200:split_channels=1.
 Applying option n (never overwrite output files) with argument 1.
 Applying option loglevel (set logging level) with argument debug.
 Successfully parsed a group of options.
 Parsing a group of options: input url sine=frequency=1000:duration=5.
 Applying option f (force format) with argument lavfi.
 Successfully parsed a group of options.
 Opening an input file: sine=frequency=1000:duration=5.
 detected 4 logical cores
 [Parsed_sine_0 @ 00000000007d9d00] Setting 'frequency' to value '1000'
 [Parsed_sine_0 @ 00000000007d9d00] Setting 'duration' to value '5'
 [AVFilterGraph @ 00000000003acf60] query_formats: 2 queried, 3 merged, 0
 already
  done, 0 delayed
 [lavfi @ 00000000003ac6e0] All info found
 Input #0, lavfi, from 'sine=frequency=1000:duration=5':
   Duration: N/A, start: 0.000000, bitrate: 705 kb/s
     Stream #0:0, 1, 1/44100: Audio: pcm_s16le, 44100 Hz, mono, s16, 705
 kb/s
 Successfully opened the file.
 [Parsed_showwavespic_0 @ 00000000007dd9c0] Setting 's' to value '1000x200'
 [Parsed_showwavespic_0 @ 00000000007dd9c0] Setting 'split_channels' to
 value '1'

 Parsing a group of options: output url C:\ff_debug\Res.png.
 Applying option frames:v (set the number of frames to output) with
 argument 1.
 Successfully parsed a group of options.
 Opening an output file: C:\ff_debug\Res.png.
 Successfully opened the file.
 Stream mapping:
   Stream #0:0 (pcm_s16le) -> showwavespic
   showwavespic -> Stream #0:0 (png)
 Press [q] to stop, [?] for help
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [Parsed_showwavespic_0 @ 00000000003c34a0] Setting 's' to value '1000x200'
 [Parsed_showwavespic_0 @ 00000000003c34a0] Setting 'split_channels' to
 value '1'

 [graph_0_in_0_0 @ 00000000003c4340] Setting 'time_base' to value '1/44100'
 [graph_0_in_0_0 @ 00000000003c4340] Setting 'sample_rate' to value '44100'
 [graph_0_in_0_0 @ 00000000003c4340] Setting 'sample_fmt' to value 's16'
 [graph_0_in_0_0 @ 00000000003c4340] Setting 'channel_layout' to value
 '0x4'
 [graph_0_in_0_0 @ 00000000003c4340] tb:1/44100 samplefmt:s16
 samplerate:44100 ch
 layout:0x4
 [format @ 00000000003c4ec0] compat: called with
 args=[rgb24|rgba|rgb48be|rgba64b
 e|pal8|gray|ya8|gray16be|ya16be|monob]
 [format @ 00000000003c4ec0] Setting 'pix_fmts' to value
 'rgb24|rgba|rgb48be|rgba
 64be|pal8|gray|ya8|gray16be|ya16be|monob'
 [AVFilterGraph @ 00000000003c31c0] query_formats: 4 queried, 5 merged, 0
 already
  done, 0 delayed
 [Parsed_showwavespic_0 @ 00000000003c34a0] s:1000x200 r:44.100000 n:1
 Output #0, image2, to 'C:\ff_debug\Res.png':
   Metadata:
     encoder         : Lavf57.84.100
     Stream #0:0, 0, 10/441: Video: png, 1 reference frame, rgba, 1000x200
 [SAR 1
 :1 DAR 5:1], 0/1, q=2-31, 200 kb/s, 44.10 fps, 44.10 tbn, 44.10 tbc
     Metadata:
       encoder         : Lavc57.108.100 png
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
     Last message repeated 215 times
 [Parsed_sine_0 @ 00000000007d9d00] EOF timestamp not reliable
 [Parsed_showwavespic_0 @ 00000000003c34a0] Create frame averaging 220
 samples pe
 r column
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 Clipping frame in rate conversion by 0.000008
 No more output streams to write to, finishing.
 }}}

--

Comment:

 Backtrace, disassembly and register dump missing.

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


More information about the FFmpeg-trac mailing list