[FFmpeg-trac] #7788(ffmpeg:new): Custom-compiled FFmpeg 4.1.1 crashes on MacOS when reading files

FFmpeg trac at avcodec.org
Tue Mar 12 17:12:06 EET 2019


#7788: Custom-compiled FFmpeg 4.1.1 crashes on MacOS when reading files
-------------------------------------+----------------------------------
             Reporter:  Jim_ChamSys  |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:  ffmpeg       |                  Version:  4.1
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+----------------------------------
 Hi there,

 We bundle a version of FFmpeg with our software, in order to perform video
 transcoding. We compile this ourselves, to remove GPL-licensed code, and
 enable the VP9 codec.

 Recently, we've upgraded our FFmpeg to version 4.1.1 (from 3.2.4); this
 has worked well on Windows and Linux platforms, but we're finding that our
 Mac version is segfaulting (signal 11) whenever it attempts to read
 certain video files. We don't have many different videos to test with, but
 it's been seen to crash with .wmv and .mpv files, but not with .mov files.

 I've attached an archive that contains the binary executable and libraries
 we've built, the flags given to the configure script, and a test video
 that exhibits the issue.

 The output when running FFmpeg through lldb is as follows:

 {{{
 $ lldb -- ffmpeg -i ~/Movies/Robotica_72011.mpv
 (lldb) target create "ffmpeg"
 Current executable set to 'ffmpeg' (x86_64).
 (lldb) settings set -- target.run-args  "-i"
 "/Users/buildbot/Movies/Robotica_72011.mpv"
 (lldb) run
 Process 91647 launched: '/usr/local/bin/ffmpeg' (x86_64)
 ffmpeg version 4.1.1 Copyright (c) 2000-2019 the FFmpeg developers
   built with Apple LLVM version 8.1.0 (clang-802.0.38)
   configuration: --sysroot= --prefix=/usr/local/
 --datadir=/usr/local/share/ffmpeg --enable-ffmpeg --disable-ffplay
 --disable-ffprobe --disable-doc --disable-network --enable-shared
 --disable-static --disable-gpl --disable-protocols --enable-protocol=data
 --enable-protocol=file --enable-protocol=pipe --enable-protocol=unix
 --enable-libvpx --disable-encoders --enable-encoder=pcm_s16le --enable-
 encoder=ljpeg --enable-encoder=mjpeg --enable-encoder=jpegls --enable-
 encoder=jpeg2000 --enable-encoder=png --enable-encoder=bmp --enable-
 encoder=libvpx_vp8 --enable-encoder=libvpx_vp9 --enable-decoder=png
 --enable-decoder=h264 --disable-bzlib --disable-lzma --enable-zlib
 --disable-openssl --disable-sdl2 --disable-securetransport --disable-
 libxcb --disable-devices --enable-lto --enable-pic --extra-ldflags='
 libavutil      56. 22.100 / 56. 22.100
   libavcodec     58. 35.100 / 58. 35.100
   libavformat    58. 20.100 / 58. 20.100
   libavdevice    58.  5.100 / 58.  5.100
   libavfilter     7. 40.101 /  7. 40.101
   libswscale      5.  3.100 /  5.  3.100
   libswresample   3.  3.100 /  3.  3.100
 Process 91647 stopped
 * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
 (code=EXC_I386_GPFLT)
     frame #0: 0x00000001009dbd72 libavcodec.58.dylib`ff_blockdsp_init +
 134
 libavcodec.58.dylib`ff_blockdsp_init:
 ->  0x1009dbd72 <+134>: movdqa %xmm0, (%rbx)
     0x1009dbd76 <+138>: andl   $0x8004000, %eax          ; imm = 0x8004000
     0x1009dbd7b <+143>: cmpl   $0x4000, %eax             ; imm = 0x4000
     0x1009dbd80 <+148>: jne    0x1009dbd9a               ; <+174>

 }}}

 As you can see, the only element of the backtrace is 'ff_blockdsp_init()'.
 We've reproduced this issue on three separate Mac computers (One running
 OSX 10.11, and two running OSX 10.13.6), and we've seen the exact same
 trace on all three, and with different video files.

 Possibly related: In another part of the project, we're also making calls
 into libavcodec directly (in order to probe for video length, etc.), and
 we've been seeing similar Mac crashes on the same files; I suspect this is
 the same issue, although it doesn't happen reliably on all machines
 tested, and I've had a much harder time investigating it.

 I'd be happy to provide more details if needed. Thanks for any assistance
 you can give.

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


More information about the FFmpeg-trac mailing list