[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