[FFmpeg-trac] #8826(ffmpeg:new): FFmpeg crash with "libxvid".

FFmpeg trac at avcodec.org
Tue Jul 28 18:08:38 EEST 2020


#8826: FFmpeg crash with "libxvid".
-------------------------------------+-------------------------------------
             Reporter:  sicaai       |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:  ffmpeg       |                  Version:  git-
             Keywords:  ffmpeg       |  master
  libxvid crash                      |               Blocked By:
             Blocking:               |  Reproduced by developer:  1
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 What I am trying to do:

         I am trying to encode a video by using the encoder "libxvid".

 What happened:

         FFmpeg crashed with a segmentation fault.

 Command line used:

         ffmpeg -i video.mkv -c:v libxvid -b:v 1500K -c:a copy output.mkv

 It does not matter what input file is used "libxvid" always crashes.


 Console output (ffmpeg -v 9 -loglevel 99 -i video.mkv):
 -------------------------------------------------------
 ffmpeg version N-53260-ga37109d555-static
 https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2020 the FFmpeg
 developers
   built with gcc 8 (Debian 8.3.0-6)
   configuration: --enable-gpl --enable-version3 --enable-static --disable-
 debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio
 --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp
 --enable-libgme --enable-gray --enable-libaom --enable-libfribidi
 --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame
 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
 --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt
 --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab
 --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264
 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid
 --enable-libzvbi --enable-libzimg
   libavutil      56. 55.100 / 56. 55.100
   libavcodec     58. 92.100 / 58. 92.100
   libavformat    58. 46.101 / 58. 46.101
   libavdevice    58. 11.100 / 58. 11.100
   libavfilter     7. 86.100 /  7. 86.100
   libswscale      5.  8.100 /  5.  8.100
   libswresample   3.  8.100 /  3.  8.100
   libpostproc    55.  8.100 / 55.  8.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 '-i' ... matched as input url with argument 'video.mkv'.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Successfully parsed a group of options.
 Parsing a group of options: input url video.mkv.
 Successfully parsed a group of options.
 Opening an input file: video.mkv.
 [NULL @ 0x64f5140] Opening 'video.mkv' for reading
 [file @ 0x64f5c00] Setting default whitelist 'file,crypto,data'
 Probing matroska,webm score:100 size:2048
 [matroska,webm @ 0x64f5140] Format matroska,webm probed with size=2048 and
 score=100
 st:0 removing common factor 1000000 from timebase
 st:1 removing common factor 1000000 from timebase
 [matroska,webm @ 0x64f5140] Before avformat_find_stream_info() pos: 966
 bytes read:32768 seeks:0 nb_streams:2
 [matroska,webm @ 0x64f5140] parser not found for codec ffv1, packets or
 times may be invalid.
     Last message repeated 1 times
 [matroska,webm @ 0x64f5140] All info found
 [matroska,webm @ 0x64f5140] stream 0: start_time: 0.582 duration: NOPTS
 [matroska,webm @ 0x64f5140] stream 1: start_time: 0 duration: NOPTS
 [matroska,webm @ 0x64f5140] format: start_time: 0 duration: 1770.58
 (estimate from stream) bitrate=43336 kb/s
 [matroska,webm @ 0x64f5140] After avformat_find_stream_info() pos: 3922
 bytes read:32768 seeks:0 frames:29
 Input #0, matroska,webm, from 'video.mkv':
   Metadata:
     COMPATIBLE_BRANDS: isomiso2avc1mp41
     MAJOR_BRAND     : isom
     MINOR_VERSION   : 512
     ENCODER         : Lavf58.46.101
   Duration: 00:29:30.58, start: 0.000000, bitrate: 43336 kb/s
     Stream #0:0, 1, 1/1000: Video: ffv1, 1 reference frame (FFV1 /
 0x31564646), yuv444p(left), 800x450, 0/1, SAR 1:1 DAR 16:9, 29.97 fps,
 29.97 tbr, 1k tbn, 1k tbc (default)
     Metadata:
       HANDLER_NAME    : VideoHandler
       ENCODER         : Lavc58.92.100 ffv1
       DURATION        : 00:29:30.550000000
     Stream #0:1, 28, 1/1000: Audio: aac (LC), 48000 Hz, stereo, fltp
 (default)
     Metadata:
       HANDLER_NAME    : SoundHandler
       DURATION        : 00:29:30.581000000
 Successfully opened the file.
 At least one output file must be specified
 [AVIOContext @ 0x64fe040] Statistics: 32768 bytes read, 0 seeks


 Output of log file generated by "ffmpeg":
 -----------------------------------------
 ffmpeg started on 2020-07-28 at 11:57:51
 Report written to "ffmpeg-20200728-115751.log"
 Log level: 48
 Command line:
 ffmpeg -report -i video.mkv -c:v libxvid -b:v 1500K -c:a copy output.mkv
 ffmpeg version N-53260-ga37109d555-static
 https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2020 the FFmpeg
 developers
   built with gcc 8 (Debian 8.3.0-6)
   configuration: --enable-gpl --enable-version3 --enable-static --disable-
 debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio
 --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp
 --enable-libgme --enable-gray --enable-libaom --enable-libfribidi
 --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame
 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
 --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt
 --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab
 --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264
 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid
 --enable-libzvbi --enable-libzimg
   libavutil      56. 55.100 / 56. 55.100
   libavcodec     58. 92.100 / 58. 92.100
   libavformat    58. 46.101 / 58. 46.101
   libavdevice    58. 11.100 / 58. 11.100
   libavfilter     7. 86.100 /  7. 86.100
   libswscale      5.  8.100 /  5.  8.100
   libswresample   3.  8.100 /  3.  8.100
   libpostproc    55.  8.100 / 55.  8.100
 Splitting the commandline.
 Reading option '-report' ... matched as option 'report' (generate a
 report) with argument '1'.
 Reading option '-i' ... matched as input url with argument 'video.mkv'.
 Reading option '-c:v' ... matched as option 'c' (codec name) with argument
 'libxvid'.
 Reading option '-b:v' ... matched as option 'b' (video bitrate (please use
 -b:v)) with argument '1500K'.
 Reading option '-c:a' ... matched as option 'c' (codec name) with argument
 'copy'.
 Reading option 'output.mkv' ... matched as output url.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option report (generate a report) with argument 1.
 Successfully parsed a group of options.
 Parsing a group of options: input url video.mkv.
 Successfully parsed a group of options.
 Opening an input file: video.mkv.
 [NULL @ 0x71ba840] Opening 'video.mkv' for reading
 [file @ 0x71bb300] Setting default whitelist 'file,crypto,data'
 [matroska,webm @ 0x71ba840] Format matroska,webm probed with size=2048 and
 score=100
 st:0 removing common factor 1000000 from timebase
 st:1 removing common factor 1000000 from timebase
 [matroska,webm @ 0x71ba840] Before avformat_find_stream_info() pos: 966
 bytes read:32768 seeks:0 nb_streams:2
 [matroska,webm @ 0x71ba840] parser not found for codec ffv1, packets or
 times may be invalid.
 [matroska,webm @ 0x71ba840] parser not found for codec ffv1, packets or
 times may be invalid.
 [matroska,webm @ 0x71ba840] All info found
 [matroska,webm @ 0x71ba840] After avformat_find_stream_info() pos: 3922
 bytes read:32768 seeks:0 frames:29
 Input #0, matroska,webm, from 'video.mkv':
   Metadata:
     COMPATIBLE_BRANDS: isomiso2avc1mp41
     MAJOR_BRAND     : isom
     MINOR_VERSION   : 512
     ENCODER         : Lavf58.46.101
   Duration: 00:29:30.58, start: 0.000000, bitrate: 43336 kb/s
     Stream #0:0, 1, 1/1000: Video: ffv1 (FFV1 / 0x31564646), yuv444p,
 800x450, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
     Metadata:
       HANDLER_NAME    : VideoHandler
       ENCODER         : Lavc58.92.100 ffv1
       DURATION        : 00:29:30.550000000
     Stream #0:1, 28, 1/1000: Audio: aac (LC), 48000 Hz, stereo, fltp
 (default)
     Metadata:
       HANDLER_NAME    : SoundHandler
       DURATION        : 00:29:30.581000000
 Successfully opened the file.
 Parsing a group of options: output url output.mkv.
 Applying option c:v (codec name) with argument libxvid.
 Applying option b:v (video bitrate (please use -b:v)) with argument 1500K.
 Applying option c:a (codec name) with argument copy.
 Successfully parsed a group of options.
 Opening an output file: output.mkv.
 [file @ 0x72477c0] Setting default whitelist 'file,crypto,data'
 Successfully opened the file.
 detected 2 logical cores
 Stream mapping:
   Stream #0:0 -> #0:0 (ffv1 (native) -> mpeg4 (libxvid))
   Stream #0:1 -> #0:1 (copy)
 Press [q] to stop, [?] for help
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 [graph 0 input from stream 0:0 @ 0x7265740] Setting 'video_size' to value
 '800x450'
 [graph 0 input from stream 0:0 @ 0x7265740] Setting 'pix_fmt' to value '5'
 [graph 0 input from stream 0:0 @ 0x7265740] Setting 'time_base' to value
 '1/1000'
 [graph 0 input from stream 0:0 @ 0x7265740] Setting 'pixel_aspect' to
 value '1/1'
 [graph 0 input from stream 0:0 @ 0x7265740] Setting 'frame_rate' to value
 '30000/1001'
 [graph 0 input from stream 0:0 @ 0x7265740] w:800 h:450 pixfmt:yuv444p
 tb:1/1000 fr:30000/1001 sar:1/1
 [format @ 0x72677c0] Setting 'pix_fmts' to value 'yuv420p'
 [auto_scaler_0 @ 0x72440c0] Setting 'flags' to value 'bicubic'
 [auto_scaler_0 @ 0x72440c0] w:iw h:ih flags:'bicubic' interl:0
 [format @ 0x72677c0] auto-inserting filter 'auto_scaler_0' between the
 filter 'Parsed_null_0' and the filter 'format'
 [AVFilterGraph @ 0x7269640] query_formats: 4 queried, 2 merged, 1 already
 done, 0 delayed
 [auto_scaler_0 @ 0x72440c0] w:800 h:450 fmt:yuv444p sar:1/1 -> w:800 h:450
 fmt:yuv420p sar:1/1 flags:0x4

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8826>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list