Ffmpeg bus error on ARM.

Andresen, Jason R. jandrese at mitre.org
Thu Jan 21 17:21:11 UTC 2016


Did you overclock your Pi or are you trying to run it off of a weak power supply?  Bus errors are often the result of hardware problems, and processor intensive tasks like transcoding video can definitely bring them out.  

> -----Original Message-----
> From: owner-freebsd-multimedia at freebsd.org [mailto:owner-freebsd-
> multimedia at freebsd.org] On Behalf Of Colin Mitchell
> Sent: Wednesday, January 20, 2016 10:16 AM
> To: multimedia at FreeBSD.org
> Subject: Ffmpeg bus error on ARM.
> 
> Hello!
> 
> 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
> website.
> 
> # 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)
> 20151225
>   configuration: --prefix=/usr/local --mandir=/usr/local/man --
> datadir=/usr/local/share/ffmpeg --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 --enable-nonfree
>   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':
>   Metadata:
>     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':
>   Metadata:
>     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)
>     Metadata:
>       encoder         : Lavc56.60.100 libtheora
>     Stream #0:1: Audio: vorbis (libvorbis), 48000 Hz, stereo, fltp (default)
>     Metadata:
>       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 ?? ()
> 
> _______________________________________________
> freebsd-multimedia at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
> To unsubscribe, send any mail to "freebsd-multimedia-
> unsubscribe at freebsd.org"


More information about the freebsd-multimedia mailing list