Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 480334 - media-libs/libvpx-1.3.0: avx not supported
Summary: media-libs/libvpx-1.3.0: avx not supported
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-09 10:21 UTC by Fabian Köster
Modified: 2015-11-12 11:45 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Köster 2013-08-09 10:21:46 UTC
Recently in Firefox 23.0 and also 22.0 I get a segmentation fault when trying to use WebRTC, although it did work some time ago (I think with Firefox 22.0).

This happens with the WebRTC reference implementation at https://apprtc.appspot.com/ as well as with other sites, e.g. https://palava.tv.

The segfault seems to happen in media-libs/libvpx (both versions 1.1.0 and 1.2.0_pre20130625), see the following stacktrace gathered using gdb:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff9aafc700 (LWP 31670)]
0x00007ffff11dc6f0 in vpx_codec_destroy () from /usr/lib64/libvpx.so.1
(gdb) quit
A debugging session is active.

	Inferior 1 [process 31570] will be killed.

Quit anyway? (y or n) n
Not confirmed.
(gdb) bt
#0  0x00007ffff11dc6f0 in vpx_codec_destroy () from /usr/lib64/libvpx.so.1
#1  0x00007ffff48705a3 in webrtc::VP8DecoderImpl::Release (this=0x7fffa9bf9540)
    at /var/tmp/portage/www-client/firefox-23.0/work/mozilla-release/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:907
#2  0x00007ffff4861138 in webrtc::VCMCodecDataBase::ReleaseDecoder (this=<optimized out>, decoder=0x7ffff6a7f340)
    at /var/tmp/portage/www-client/firefox-23.0/work/mozilla-release/media/webrtc/trunk/webrtc/modules/video_coding/main/source/codec_database.cc:446
#3  0x00007ffff48616f1 in webrtc::VCMCodecDataBase::CreateAndInitDecoder (this=this@entry=0x7fffa8cece68, payload_type=payload_type@entry=120 'x', new_codec=new_codec@entry=0x7fffa8cecf10, 
    external=external@entry=0x7fffa8cecfd0) at /var/tmp/portage/www-client/firefox-23.0/work/mozilla-release/media/webrtc/trunk/webrtc/modules/video_coding/main/source/codec_database.cc:509
#4  0x00007ffff486178d in webrtc::VCMCodecDataBase::GetDecoder (this=0x7fffa8cece68, payload_type=120 'x', decoded_frame_callback=0x7fffa8cec440)
    at /var/tmp/portage/www-client/firefox-23.0/work/mozilla-release/media/webrtc/trunk/webrtc/modules/video_coding/main/source/codec_database.cc:418
#5  0x00007ffff486f1c4 in webrtc::VideoCodingModuleImpl::Decode (this=0x7fffa8cea000, frame=...)
    at /var/tmp/portage/www-client/firefox-23.0/work/mozilla-release/media/webrtc/trunk/webrtc/modules/video_coding/main/source/video_coding_impl.cc:1040
#6  0x00007ffff486f47d in webrtc::VideoCodingModuleImpl::Decode (this=0x7fffa8cea000, maxWaitTimeMs=<optimized out>)
    at /var/tmp/portage/www-client/firefox-23.0/work/mozilla-release/media/webrtc/trunk/webrtc/modules/video_coding/main/source/video_coding_impl.cc:914
#7  0x00007ffff48865a1 in webrtc::ViEChannel::ChannelDecodeProcess (this=<optimized out>)
    at /var/tmp/portage/www-client/firefox-23.0/work/mozilla-release/media/webrtc/trunk/webrtc/video_engine/vie_channel.cc:2215
#8  0x00007ffff485f9ec in webrtc::ThreadPosix::Run (this=0x7fffc9ac4dc0) at /var/tmp/portage/www-client/firefox-23.0/work/mozilla-release/media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc:338
#9  0x00007ffff485faa5 in webrtc::StartThread (lp_parameter=<optimized out>) at /var/tmp/portage/www-client/firefox-23.0/work/mozilla-release/media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc:95
#10 0x00007ffff7bc6ec6 in start_thread () from /lib64/libpthread.so.0
#11 0x00007ffff6efd6ed in clone () from /lib64/libc.so.6

Reproducible: Always




Portage 2.1.12.2 (default/linux/amd64/13.0/desktop/gnome, gcc-4.7.3, glibc-2.15-r3, 3.9.11-gentoo-r1 x86_64)
=================================================================
System uname: Linux-3.9.11-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7-2720QM_CPU_@_2.20GHz-with-gentoo-2.2
KiB Mem:     8055748 total,    382788 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Fri, 09 Aug 2013 08:15:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5, 3.2.5-r1
dev-util/cmake:           2.8.10.2-r2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.6.3, 4.7.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo sunrise gentoo-haskell java steam-overlay systemd-love x-portage hibiscus-gentoo-overlay
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE freedist as-is"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=corei7-avx -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /usr/share/maven-bin-3.1/conf /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=corei7-avx -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/layman/haskell /var/lib/layman/java /var/lib/layman/steam /var/lib/layman/systemd-love /usr/local/portage /home/fabian/workspace/Privat/gentoo/hibiscus-ebuild/hibiscus-gentoo-overlay.git"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 avx bash-completion berkdb bluetooth branding bzip2 cairo cdda cdr cli colord consolekit cracklib crypt cups cxx dbus dri dts dvb dvd dvdr eds emboss encode evo exif fam firefox flac fortran gdbm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk hdaps iconv idn introspection ipv6 jabber jpeg lastfm lcms libnotify libsecret mad mmx mng modemmanager modules mp3 mp4 mpeg mudflap multilib nautilus ncurses networkmanager nfsv4 nls nptl ogg opengl openmp opus pam pango pcre pcsc-lite pdf png policykit ppds pulseaudio qt3support qt4 readline rss sdl session socialweb spell sse sse2 sse3 sse4 sse4_1 sse4_2 ssl ssse3 startup-notification svg systemd tcpd theora tiff truetype udev udisks unicode upower usb v4l v4l2 vaapi vorbis webm wxwidgets x264 xcb xml xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="active braindump flow karbon krita stage tables words sheets" CAMERAS="canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DVB_CARDS="usb-dib0700" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby19" SANE_BACKENDS="genesys plustek" USERLAND="GNU" VIDEO_CARDS="intel nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7 3.2"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Fabian Köster 2013-08-09 10:24:08 UTC
Btw: WebRTC does currently not work on my system with www-client/chromium-28.0.1500.95 either, although it used to work some time ago. I do not know what changed since then.
Comment 2 Fabian Köster 2013-08-09 12:09:53 UTC
Firefox does not crash with media-libs/libvpx-9999
Comment 3 Jory A. Pratt gentoo-dev 2013-08-11 23:16:58 UTC
Could you please rebuild libvpx with -mno-avx. The reason this appears to be working fine in current 9999 ebuilds is avx is officially supported.
Comment 4 Fabian Köster 2013-08-12 12:29:38 UTC
(In reply to Jory A. Pratt from comment #3)
> Could you please rebuild libvpx with -mno-avx. The reason this appears to be
> working fine in current 9999 ebuilds is avx is officially supported.

I can confirm that -mno-avx actually works, thanks for the hint!

My configuration:

media-libs/libvpx-1.1.0 was built with the following:
USE="mmx (multilib) sse sse2 sse3 sse4_1 ssse3 threads (-altivec) -debug -doc -postproc -static-libs" ABI_X86="64"
CFLAGS="-march=corei7-avx -O2 -pipe -mno-avx"
CXXFLAGS="-march=corei7-avx -O2 -pipe -mno-avx"
Comment 5 Jory A. Pratt gentoo-dev 2013-08-12 13:23:30 UTC
As compiling with -mno-avx has resolved your issue, I am gonna pass it to media-video so they can update their ebuild.
Comment 6 Fabian Köster 2014-04-02 11:03:29 UTC
Any update on this?
Comment 7 Oleh 2015-01-13 15:18:29 UTC
and...any updates on this?
Comment 8 Alexis Ballier gentoo-dev 2015-11-12 11:45:02 UTC
please test with libvpx 1.4.0 which has been stable for a while and should support avx