Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#4945 closed defect (needs_more_info)

potential regression on drawtext timecode

Reported by: lorenzo.angeli Owned by:
Priority: important Component: undetermined
Version: git-master Keywords: crash
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
How to reproduce:

efesto@hdd-XPS-15-9530 ffmpeg-git-20151017-64bit-static $ ./ffmpeg -thread_queue_size 512 -hwaccel auto -threads 0 -y -r 25.0 -start_number 1 -i "/usr/tmp/tmpyCJaTB.%4d.png" -c:v libx264 -crf 18 -preset slow -strict -2 -movflags faststart -pix_fmt yuv420p -filter_complex "[0:v]null,scale=1920:1080,
drawtext=timecode=\'00:00:00:00\':r=25.0:fontcolor=white@1:fontsize=28:x=50:y=50-text_h[clip];[clip]scale=1920:1080, fps=25.0, setdar=16:9[v]" -map [v] -v debug /home/efesto/Desktop/foobar.mov 
ffmpeg version N-50577-g777b305-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.3 (Debian 4.9.3-5)
  configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --cc=gcc-4.9
  libavutil      55.  4.100 / 55.  4.100
  libavcodec     57.  7.100 / 57.  7.100
  libavformat    57.  8.100 / 57.  8.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 11.100 /  6. 11.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.100 /  2.  0.100
  libpostproc    54.  0.100 / 54.  0.100
Splitting the commandline.
Reading option '-thread_queue_size' ... matched as option 'thread_queue_size' (set the maximum number of queued packets from the demuxer) with argument '512'.
Reading option '-hwaccel' ... matched as option 'hwaccel' (use HW accelerated decoding) with argument 'auto'.
Reading option '-threads' ... matched as AVOption 'threads' with argument '0'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-r' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '25.0'.
Reading option '-start_number' ... matched as AVOption 'start_number' with argument '1'.
Reading option '-i' ... matched as input file with argument '/usr/tmp/tmpyCJaTB.%4d.png'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libx264'.
Reading option '-crf' ... matched as AVOption 'crf' with argument '18'.
Reading option '-preset' ... matched as AVOption 'preset' with argument 'slow'.
Reading option '-strict' ...Routing option strict to both codec and muxer layer
 matched as AVOption 'strict' with argument '-2'.
Reading option '-movflags' ... matched as AVOption 'movflags' with argument 'faststart'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv420p'.
Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument '[0:v]null,scale=1920:1080,
drawtext=timecode=\'00:00:00:00\':r=25.0:fontcolor=white@1:fontsize=28:x=50:y=50-text_h[clip];[clip]scale=1920:1080, fps=25.0, setdar=16:9[v]'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '[v]'.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '/home/efesto/Desktop/foobar.mov' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option filter_complex (create a complex filtergraph) with argument [0:v]null,scale=1920:1080,
drawtext=timecode=\'00:00:00:00\':r=25.0:fontcolor=white@1:fontsize=28:x=50:y=50-text_h[clip];[clip]scale=1920:1080, fps=25.0, setdar=16:9[v].
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file /usr/tmp/tmpyCJaTB.%4d.png.
Applying option thread_queue_size (set the maximum number of queued packets from the demuxer) with argument 512.
Applying option hwaccel (use HW accelerated decoding) with argument auto.
Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 25.0.
Successfully parsed a group of options.
Opening an input file: /usr/tmp/tmpyCJaTB.%4d.png.
[AVIOContext @ 0x45312c0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x45291a0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529300] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529560] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529440] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529620] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529780] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529820] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529a00] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529b60] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529cc0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529e20] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4529f80] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452a0e0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452a240] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452a3a0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452a500] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452a660] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452a7c0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452a920] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452aa80] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452ac80] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4539ba0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x452ade0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4539c60] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4539d20] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x4539ea0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453a000] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453a160] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453a2c0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453a420] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453a580] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453a6e0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453a840] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453a9a0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453ab00] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453ac60] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453adc0] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453af20] Statistics: 11318 bytes read, 0 seeks
[AVIOContext @ 0x453b080] Statistics: 11318 bytes read, 0 seeks
Input #0, image2, from '/usr/tmp/tmpyCJaTB.%4d.png':
  Duration: 00:00:01.60, start: 0.000000, bitrate: N/A
    Stream #0:0, 40, 1/25: Video: png, 1 reference frame, rgba(pc), 1920x1080 (0x0), 1/25, 25 fps, 25 tbr, 25 tbn, 25 tbc
Successfully opened the file.
detected 8 logical cores
[Parsed_scale_1 @ 0x4534360] Setting 'w' to value '1920'
[Parsed_scale_1 @ 0x4534360] Setting 'h' to value '1080'
[Parsed_scale_1 @ 0x4534360] w:1920 h:1080 flags:'bilinear' interl:0
[Parsed_drawtext_2 @ 0x4534d00] Setting 'timecode' to value '00:00:00:00'
[Parsed_drawtext_2 @ 0x4534d00] Setting 'r' to value '25.0'
[Parsed_drawtext_2 @ 0x4534d00] Setting 'fontcolor' to value 'white@1'
[Parsed_drawtext_2 @ 0x4534d00] Setting 'fontsize' to value '28'
[Parsed_drawtext_2 @ 0x4534d00] Setting 'x' to value '50'
[Parsed_drawtext_2 @ 0x4534d00] Setting 'y' to value '50-text_h'
Segmentation fault

changing timecode with text, doesn't trigger the segfault.

Change History (7)

comment:1 by lorenzo.angeli, 6 years ago

Summary: potential regressio on drawtext timecodepotential regression on drawtext timecode
Version: unspecifiedgit-master

comment:2 by Carl Eugen Hoyos, 6 years ago

Keywords: crash added
Priority: normalimportant

Is an external library like x264 necessary to reproduce the issue or is it also reproducible with -vcodec mpeg4 -qscale 2?
Is a specific input necessary or is the issue also reproducible with -f lavfi -i testsrc?

comment:3 by lorenzo.angeli, 6 years ago

Hi , sorry for the delay.

the external x264 is not needed and I can reproduce with the other flags.
Here is a command which uses both and segfault.

./ffmpeg -y -r 25.0 -f lavfi -i testsrc -vcodec mpeg4 -qscale 2 -filter_complex "[0:v]null,scale=1920:1080,
drawtext=timecode=\'00:00:00:00\':r=25.0:fontcolor=white@1:fontsize=28:x=50:y=50-text_h[clip];[clip]scale=1920:1080, fps=25.0, setdar=16:9[v]" -map [v] -v debug /home/efesto/Desktop/foobar.mov 

ffmpeg version N-50577-g777b305-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.3 (Debian 4.9.3-5)
  configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --cc=gcc-4.9
  libavutil      55.  4.100 / 55.  4.100
  libavcodec     57.  7.100 / 57.  7.100
  libavformat    57.  8.100 / 57.  8.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 11.100 /  6. 11.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.100 /  2.  0.100
  libpostproc    54.  0.100 / 54.  0.100
Splitting the commandline.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-r' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '25.0'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'lavfi'.
Reading option '-i' ... matched as input file with argument 'testsrc'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'mpeg4'.
Reading option '-qscale' ... matched as option 'qscale' (use fixed quality scale (VBR)) with argument '2'.
Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument '[0:v]null,scale=1920:1080,
drawtext=timecode=\'00:00:00:00\':r=25.0:fontcolor=white@1:fontsize=28:x=50:y=50-text_h[clip];[clip]scale=1920:1080, fps=25.0, setdar=16:9[v]'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '[v]'.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '/home/efesto/Desktop/foobar.mov' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option filter_complex (create a complex filtergraph) with argument [0:v]null,scale=1920:1080,
drawtext=timecode=\'00:00:00:00\':r=25.0:fontcolor=white@1:fontsize=28:x=50:y=50-text_h[clip];[clip]scale=1920:1080, fps=25.0, setdar=16:9[v].
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file testsrc.
Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 25.0.
Applying option f (force format) with argument lavfi.
Successfully parsed a group of options.
Opening an input file: testsrc.
detected 8 logical cores
[Parsed_testsrc_0 @ 0x36311c0] size:320x240 rate:25/1 duration:-1.000000 sar:1/1
[AVFilterGraph @ 0x362fda0] query_formats: 2 queried, 1 merged, 0 already done, 0 delayed
[lavfi @ 0x362f6c0] All info found
Input #0, lavfi, from 'testsrc':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0, 1, 1/25: Video: rawvideo, 1 reference frame (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 1/25, 25 tbr, 25 tbn, 25 tbc
Successfully opened the file.
[Parsed_scale_1 @ 0x3634280] Setting 'w' to value '1920'
[Parsed_scale_1 @ 0x3634280] Setting 'h' to value '1080'
[Parsed_scale_1 @ 0x3634280] w:1920 h:1080 flags:'bilinear' interl:0
[Parsed_drawtext_2 @ 0x3634c00] Setting 'timecode' to value '00:00:00:00'
[Parsed_drawtext_2 @ 0x3634c00] Setting 'r' to value '25.0'
[Parsed_drawtext_2 @ 0x3634c00] Setting 'fontcolor' to value 'white@1'
[Parsed_drawtext_2 @ 0x3634c00] Setting 'fontsize' to value '28'
[Parsed_drawtext_2 @ 0x3634c00] Setting 'x' to value '50'
[Parsed_drawtext_2 @ 0x3634c00] Setting 'y' to value '50-text_h'
Segmentation fault

comment:4 by Carl Eugen Hoyos, 6 years ago

Resolution: needs_more_info
Status: newclosed

Your command line does not crash here, please reopen this ticket if you can provide the missing information for crash reports as explained on https://ffmpeg.org/bugreports.html
Or report this issue to http://johnvansickle.com/ffmpeg

comment:5 by lorenzo.angeli, 6 years ago

Hi, where can I get the ffmpeg_g to provide gdb informations ?

system : Linux hdd-XPS-15-9530 3.16.0-45-generic #60~14.04.1-Ubuntu SMP Fri Jul 24 21:16:23 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

here the bare minimum I can provide in order to reproduce:

./ffmpeg -v 9 -loglevel 99 -y -f lavfi -i testsrc -vcodec mpeg4 -qscale 2 -filter_complex "[0:v] drawtext=timecode=\'00:00:00:00\':r=25.0[v]" -map [v]  /home/efesto/Desktop/foobar.mov 

here is the output

ffmpeg version N-50577-g777b305-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.3 (Debian 4.9.3-5)
  configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --cc=gcc-4.9
  libavutil      55.  4.100 / 55.  4.100
  libavcodec     57.  7.100 / 57.  7.100
  libavformat    57.  8.100 / 57.  8.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 11.100 /  6. 11.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.100 /  2.  0.100
  libpostproc    54.  0.100 / 54.  0.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'lavfi'.
Reading option '-i' ... matched as input file with argument 'testsrc'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'mpeg4'.
Reading option '-qscale' ... matched as option 'qscale' (use fixed quality scale (VBR)) with argument '2'.
Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument '[0:v] drawtext=timecode=\'00:00:00:00\':r=25.0[v]'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '[v]'.
Reading option '/home/efesto/Desktop/foobar.mov' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Applying option y (overwrite output files) with argument 1.
Applying option filter_complex (create a complex filtergraph) with argument [0:v] drawtext=timecode=\'00:00:00:00\':r=25.0[v].
Successfully parsed a group of options.
Parsing a group of options: input file testsrc.
Applying option f (force format) with argument lavfi.
Successfully parsed a group of options.
Opening an input file: testsrc.
detected 8 logical cores
[Parsed_testsrc_0 @ 0x4dbb040] size:320x240 rate:25/1 duration:-1.000000 sar:1/1
[AVFilterGraph @ 0x4db9c40] query_formats: 2 queried, 1 merged, 0 already done, 0 delayed
[lavfi @ 0x4db9580] All info found
[lavfi @ 0x4db9580] 0: start_time: 0.000 duration: -9223372036854.775
[lavfi @ 0x4db9580] stream: start_time: 0.000 duration: -9223372036854.775 bitrate=0 kb/s
Input #0, lavfi, from 'testsrc':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0, 1, 1/25: Video: rawvideo, 1 reference frame (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 1/25, 25 tbr, 25 tbn, 25 tbc
Successfully opened the file.
[Parsed_drawtext_0 @ 0x4dbdc00] Setting 'timecode' to value '00:00:00:00'
[Parsed_drawtext_0 @ 0x4dbdc00] Setting 'r' to value '25.0'
Segmentation fault

in reply to:  5 comment:6 by Carl Eugen Hoyos, 6 years ago

Replying to lorenzo.angeli:

Hi, where can I get the ffmpeg_g to provide gdb informations ?

You will have to compile yourself with --enable-libfreetype (or report the issue to where you downloaded the binary from, remember that the FFmpeg project only provides source code, no binaries).

Last edited 6 years ago by Carl Eugen Hoyos (previous) (diff)

comment:7 by lorenzo.angeli, 6 years ago

Oh sorry, here is where I get it from:

http://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz

I'll try to understand how to report it there.
Cheers.
L.

Note: See TracTickets for help on using tickets.