Opened 5 years ago

Closed 4 years ago

#7887 closed defect (fixed)

segmenter crash on a .mov file

Reported by: Samuele Owned by:
Priority: important Component: avformat
Version: git-master Keywords: mov segment codecpar regression crash fpe
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:

Segmenting a .mov file produce a crash: floating point exception.

I did experience this crash in all my .mov file so I tought maybe they have something special, so I did search on google a mov file and I found on this website https://filmplusgear.com/prores-raw-testfiles-for-download-nab-2018/
I have tested the file

Filmplusgear ProRes RAW testfile #3

and it crashed as well.

It crashes on ffmpeg 4.1.1, 4.1.3 and the current master.

How to reproduce:

$ ./ffmpeg -i Filmplusgear-ProRes-RAW-testfiles-3.MOV -codec copy -f segment -segment_time 1 -reset_timestamps 1 -map 0 "test_%03d.mov"
ffmpeg version N-93784-ge25bddf5fc Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8 (Ubuntu 8.3.0-6ubuntu1)
  configuration: --prefix=/home/samuele/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/samuele/ffmpeg_build/include --extra-ldflags=-L/home/samuele/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/samuele/bin --enable-gpl --enable-libaom --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      56. 26.101 / 56. 26.101
  libavcodec     58. 52.101 / 58. 52.101
  libavformat    58. 27.103 / 58. 27.103
  libavdevice    58.  7.100 / 58.  7.100
  libavfilter     7. 50.100 /  7. 50.100
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x56090f3e8b00] overread end of atom '�mak' by 2 bytes
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x56090f3e8b00] overread end of atom '�swr' by 3 bytes
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x56090f3e8b00] Could not find codec parameters for stream 1 (Video: none (aprh / 0x68727061), none(progressive), 4112x2176, 1154211 kb/s): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Guessed Channel Layout for Input Stream #0.0 : 4.0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Filmplusgear-ProRes-RAW-testfiles-3.MOV':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2018-04-12T02:50:52.000000Z
    make            : Atomos
    make-eng        : Atomos
    encoder         : ShogunInferno - 9.0 
    encoder-eng     : ShogunInferno - 9.0 
    com.apple.proapps.manufacturer: Sony
    com.apple.proapps.exif.{Exif}.FNumber: 1.000084
    org.smpte.rdd18.lens.irisfnumber: F1.0
    com.apple.proapps.exif.{Exif}.ShutterSpeedValue: 1.006149
    org.smpte.rdd18.camera.shutterspeed_angle: 179.2deg
    org.smpte.rdd18.camera.neutraldensityfilterwheelsetting: ND1
    org.smpte.rdd18.camera.whitebalance: 4300K
    com.apple.proapps.exif.{Exif}.ExposureIndex: 4000.000000
    org.smpte.rdd18.camera.isosensitivity: 4000
    com.apple.proapps.image.{TIFF}.Make: Atomos
    com.apple.proapps.image.{TIFF}.Model: ShogunInferno
    com.apple.proapps.image.{TIFF}.Software: 9.0
    timecode        : 14:05:33:01
  Duration: 00:00:10.48, start: 0.000000, bitrate: 1158824 kb/s
    Stream #0:0(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 4.0, s32 (24 bit), 4608 kb/s (default)
    Metadata:
      creation_time   : 2018-04-12T02:50:52.000000Z
    Stream #0:1(eng): Video: none (aprh / 0x68727061), none(progressive), 4112x2176, 1154211 kb/s, SAR 1:1 DAR 257:136, 25 fps, 25 tbr, 2500 tbn, 2500 tbc (default)
    Metadata:
      creation_time   : 2018-04-12T02:50:52.000000Z
      encoder         : Apple ProRes RAW HQ
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2018-04-12T02:50:52.000000Z
      timecode        : 14:05:33:01
[segment @ 0x56090f401fc0] Opening 'test_000.mov' for writing
[mov @ 0x56090f409c00] Valid timecode frame rate must be specified. Minimum value is 1
Output #0, segment, to 'test_%03d.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    timecode        : 14:05:33:01
    make            : Atomos
    make-eng        : Atomos
    com.apple.proapps.image.{TIFF}.Software: 9.0
    encoder         : Lavf58.27.103
    com.apple.proapps.manufacturer: Sony
    com.apple.proapps.exif.{Exif}.FNumber: 1.000084
    org.smpte.rdd18.lens.irisfnumber: F1.0
    com.apple.proapps.exif.{Exif}.ShutterSpeedValue: 1.006149
    org.smpte.rdd18.camera.shutterspeed_angle: 179.2deg
    org.smpte.rdd18.camera.neutraldensityfilterwheelsetting: ND1
    org.smpte.rdd18.camera.whitebalance: 4300K
    com.apple.proapps.exif.{Exif}.ExposureIndex: 4000.000000
    org.smpte.rdd18.camera.isosensitivity: 4000
    com.apple.proapps.image.{TIFF}.Make: Atomos
    com.apple.proapps.image.{TIFF}.Model: ShogunInferno
    Stream #0:0(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 4.0, s32 (24 bit), 4608 kb/s (default)
    Metadata:
      creation_time   : 2018-04-12T02:50:52.000000Z
    Stream #0:1(eng): Video: none (aprh / 0x68727061), none(progressive), 4112x2176 [SAR 1:1 DAR 257:136], q=2-31, 1154211 kb/s, 25 fps, 25 tbr, 10k tbn, 2500 tbc (default)
    Metadata:
      creation_time   : 2018-04-12T02:50:52.000000Z
      encoder         : Apple ProRes RAW HQ
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2018-04-12T02:50:52.000000Z
      timecode        : 14:05:33:01
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (copy)
Press [q] to stop, [?] for help
Floating point exception (core dumped)me=00:00:09.20 bitrate=N/A speed=9.16x   

Please also note the error displayed:

[mov @ 0x56090f409c00] Valid timecode frame rate must be specified. Minimum value is 1

which has no meaning to me, in fact I did try different time related parameters and none of them removed this error or avoid a crash.

In attachment there is the "./ffmpeg_g -v 9 -loglevel 99" log,
and the coredump backtrace info.

Attachments (3)

ffmpeg_g-log.txt (600.6 KB ) - added by Samuele 5 years ago.
ffmpeg_g -v 9 -loglevel 99" log
gdb_coredump_info.txt (8.5 KB ) - added by Samuele 5 years ago.
coredump and gdb backtrace
Filmplusgear-ProRes-RAW-testfiles-6_cut.mov (2.4 MB ) - added by Carl Eugen Hoyos 5 years ago.

Change History (8)

by Samuele, 5 years ago

Attachment: ffmpeg_g-log.txt added

ffmpeg_g -v 9 -loglevel 99" log

by Samuele, 5 years ago

Attachment: gdb_coredump_info.txt added

coredump and gdb backtrace

comment:1 by Carl Eugen Hoyos, 5 years ago

Keywords: codecpar regression crash fpe added; ProRes removed
Reproduced by developer: set
Status: newopen

Looks like a regression since 6f69f7a8bf6a0d013985578df2ef42ee6b1c7994

by Carl Eugen Hoyos, 5 years ago

comment:2 by Samuele, 5 years ago

I found out that, if "-map 0" is removed, ffmpeg doesn't crash anymore but the error message still persist

comment:3 by Gyan, 5 years ago

Try by changing -map 0 to -map 0 -map -0:d -segment_format_options write_tmcd=0

comment:4 by Samuele, 5 years ago

It doesn't crash and doesn't emit errors, only the warnings are still there.
The "-segment_format_options write_tmcd=0" alone avoids both the crash and the errors.

Last edited 5 years ago by Samuele (previous) (diff)

comment:5 by mkver, 4 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.