Ffmpeg bus error on ARM.

Colin Mitchell colin at colinrmitchell.endoftheinternet.org
Wed Jan 20 15:02:04 UTC 2016


I'm not sure if this is the right place to ask or not, but I am having
trouble with multimedia/ffmpeg on FreeBSD 11 on a Raspberry Pi 2.  I'm
getting a bus error every time I try to transcode a video file.

I installed FreeBSD on the Pi using the SD card image from the FreeBSD

# uname -a
FreeBSD chickencam 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r293245: Thu Jan 
7 07:21:53 UTC 2016    
root at releng2.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI2  arm

I updated the ports tree as of yesterday evening.  I built the port with
the following options:

===> The following configuration options are available for ffmpeg-2.8.5,1:
     AACPLUS=on: AAC support via libaacplus
     ALSA=off: ALSA audio architecture support
     AMR_NB=off: AMR Narrow Band audio support (opencore)
     AMR_WB=off: AMR Wide Band audio support (opencore)
     ASS=off: Subtitles rendering via libass
     BS2B=off: Bauer Stereophonic-to-Binaural filter
     CACA=off: libcaca graphics library support
     CDIO=off: Audio CD grabbing with libcdio
     CELT=off: CELT audio codec support
     DC1394=off: IIDC-1394 grabbing using libdc1394
     DEBUG=on: Build with debugging support
     DOCS=on: Build and/or install documentation
     FAAC=off: FAAC AAC encoder support
     FDK_AAC=off: AAC audio encoding via Fraunhofer FDK
     FFSERVER=off: Build and install ffserver
     FLITE=off: Voice synthesis support via libflite
     FONTCONFIG=off: X11 font configuration support
     FREETYPE=off: TrueType font rendering support
     FREI0R=on: Frei0r video plugins support
     FRIBIDI=off: Bidirectional text support via GNU FriBidi
     GME=off: Game Music Emu demuxer
     GSM=off: GSM codec support
     ICONV=on: Encoding conversion support via iconv
     ILBC=off: Internet Low Bit Rate codec
     JACK=off: JACK audio server support
     LADSPA=off: LADSPA audio plugins support
     LAME=on: LAME MP3 audio encoder support
     LIBBLURAY=off: Blu-ray discs support via libbluray
     MODPLUG=off: ModPlug decoder support
     NEON=on: Enable Media Processing Engine instructions
     OPENAL=off: Audio support via OpenAL
     OPENCL=off: Heterogeneous computing via OpenCL
     OPENCV=off: Computer Vision support via OpenCV
     OPENGL=off: 2D/3D rendering support via OpenGL
     OPENH264=on: H.264 video codec support via OpenH264
     OPENJPEG=off: Enhanced JPEG graphics support
     OPTIMIZED_CFLAGS=on: Use extra compiler optimizations
     OPUS=off: Opus audio codec support
     PULSEAUDIO=off: PulseAudio sound server support
     QUVI=off: Flash media stream URLs
     RTCPU=on: Detect CPU capabilities at runtime
     RTMP=off: RTMP protocol support via librtmp
     SCHROEDINGER=on: Dirac video codec support via libschroedinger
     SDL=off: Simple Direct Media Layer support
     SMB=off: SMB network protocol support
     SNAPPY=off: Snappy compression library support
     SPEEX=off: Speex audio format support
     SSH=off: SSH protocol support
     THEORA=on: Ogg Theora video codec support
     TWOLAME=off: TwoLAME MP2 audio encoder support
     V4L=on: Video 4 Linux support
     VAAPI=off: VAAPI (GPU video acceleration) support
     VDPAU=off: VDPAU (GPU video acceleration) support
     VFP=off: Enable Vector Floating Point instructions
     VIDSTAB=off: Video stabilization filter
     VORBIS=on: Ogg Vorbis audio codec support
     VO_AACENC=off: AAC audio encoding via vo-aacenc
     VO_AMRWBENC=off: AMR Wide Band encoding via vo-amrwbenc
     VPX=on: VP8/VP9 video codec support
     WAVPACK=off: WavPack lossless audio format support
     WEBP=off: WebP image format support
     X11GRAB=off: X11 grabbing (legacy)
     X264=off: H.264 video codec support via x264
     X265=off: H.265 video codec support via x265
     XCB=off: X11 grabbing using XCB
     XVID=on: Xvid MPEG-4 video codec support
     XVIDEO=off: X11 Video extension library support
     ZMQ=off: Message passing via libzmq4
     ZVBI=off: Teletext support via libzvbi
====> Licensing options
     GPL3=off: Allow (L)GPL version 3 code(cs)
     NONFREE=on: Allow use of nonfree code
====> SSL protocol support: you have to select exactly one of them
     GNUTLS=on: SSL/TLS support via GnuTLS
     OPENSSL=off: SSL/TLS support via OpenSSL
===> Use 'make config' to modify these settings

This is the info I got from debugging with gdb:

# gdb ./ffmpeg
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "armv6-marcel-freebsd"...
(gdb) run -i ~/Fury2.webm test.ogv
Starting program: /usr/ports/multimedia/ffmpeg/work/ffmpeg-2.8.5/ffmpeg -i
~/Fury2.webm test.ogv
[New LWP 100102]
ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers
  built with FreeBSD clang version 3.7.1 (tags/RELEASE_371/final 255217)
  configuration: --prefix=/usr/local --mandir=/usr/local/man
--pkgconfigdir=/usr/local/libdata/pkgconfig --enable-shared --enable-gpl
--enable-postproc --enable-avfilter --enable-avresample
--enable-pthreads --disable-libstagefright-h264 --disable-libutvideo
--disable-libsoxr --cc=cc --extra-cflags='-I/usr/local/include/vorbis
-I/usr/local/include' --extra-ldflags='-L/usr/local/lib '
--extra-libs=-lpthread --disable-fast-unaligned --enable-libaacplus
--disable-indev=alsa --disable-outdev=alsa --disable-libopencore-amrnb
--disable-libopencore-amrwb --disable-libass --disable-libbs2b
--disable-libcaca --disable-libcdio --disable-libcelt
--disable-libdc1394 --disable-stripping --enable-htmlpages
--disable-libfaac --disable-libfdk-aac --disable-ffserver
--disable-libflite --disable-fontconfig --disable-libfreetype
--enable-frei0r --disable-libfribidi --disable-libgme --disable-libgsm
--enable-iconv --disable-libilbc --disable-indev=jack --disable-ladspa
--enable-libmp3lame --disable-libbluray --disable-libmodplug
--enable-neon --cpu=armv7-a --disable-openal --disable-indev=openal
--disable-opencl --disable-libopencv --disable-opengl
--enable-libopenh264 --disable-libopenjpeg --disable-libopus
--disable-libpulse --disable-indev=pulse --disable-outdev=pulse
--disable-libquvi --enable-runtime-cpudetect --disable-librtmp
--enable-libschroedinger --disable-ffplay --disable-outdev=sdl
--disable-libsmbclient --disable-libsnappy --disable-libspeex
--disable-libssh --enable-libtheora --disable-libtwolame
--enable-libv4l2 --disable-vaapi --disable-vdpau --disable-vfp
--disable-libvidstab --enable-libvorbis --disable-libvo-aacenc
--disable-libvo-amrwbenc --enable-libvpx --disable-libwavpack
--disable-libwebp --disable-x11grab --disable-libx264 --disable-libx265
--disable-libxcb --enable-libxvid --disable-outdev=xv --disable-libzmq
--disable-libzvbi --enable-gnutls --disable-openssl --disable-version3
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, matroska,webm, from '/root/Fury2.webm':
    encoder         : Lavf56.36.100
  Duration: 00:01:26.42, start: 0.000000, bitrate: 2140 kb/s
    Stream #0:0: Video: vp8, yuv420p, 1440x1080, SAR 4:3 DAR 16:9, 25 fps,
25 tbr, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp (default)
File 'test.ogv' already exists. Overwrite ? [y/N] y
Output #0, ogg, to 'test.ogv':
    encoder         : Lavf56.40.101
    Stream #0:0: Video: theora (libtheora), yuv420p, 1440x1080 [SAR 4:3
DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
      encoder         : Lavc56.60.100 libtheora
    Stream #0:1: Audio: vorbis (libvorbis), 48000 Hz, stereo, fltp (default)
      encoder         : Lavc56.60.100 libvorbis
Stream mapping:
  Stream #0:0 -> #0:0 (vp8 (native) -> theora (libtheora))
  Stream #0:1 -> #0:1 (vorbis (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
[New Thread 22944300 (LWP 100345/ffmpeg)]

Program received signal SIGBUS, Bus error.
[Switching to Thread 22944300 (LWP 100345/ffmpeg)]
0x20a1f25c in $a.3 () at vp56_arith.h:50
50	    __asm__ ("adds    %3,  %3,  %0           \n"
Current language:  auto; currently minimal
(gdb) bt
#0  0x20a1f25c in $a.3 () at vp56_arith.h:50
#1  0x00000000 in ?? ()

More information about the freebsd-multimedia mailing list