Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 549612

Summary: media-plugins/gst-plugins-faad-1.4.5, bad #if check leads to buffer overflow and segfault. (GCC 5 preprocessor problem)
Product: Gentoo Linux Reporter: Gabriel Marcano <gabemarcano>
Component: [OLD] GCC PortingAssignee: GStreamer package maintainers <gstreamer>
Status: RESOLVED FIXED    
Severity: normal CC: gabemarcano
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
URL: https://bugzilla.gnome.org/show_bug.cgi?id=749461
See Also: https://bugzilla.gnome.org/show_bug.cgi?id=748571
Whiteboard: Fixed upstream
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 536984    
Attachments: Modified gst-plugins-faad-1.4.5.ebuild
gst-plugins-faad-1.4.5-gcc-5-fix.patch

Description Gabriel Marcano 2015-05-16 02:00:27 UTC
I can reproduce this with firefox-37.0.2 and gst-plugins-bad-1.4.5 with hardware acceleration for video enabled across my system.

Steps to reproduce:
1. In Firefox, navigate to youtube and launch an HTML 5 video
2. Wait for Firefox to segfault

I dug into what what going on, and found out that there is a mismatch in variable size in gst-plugins-bad-1.4.5/ext/faad/gstfaad.c. Specifically,

gst-plugins-bad-1.4.5/ext/faad/gstfaad.c:
  277     #if FAAD2_MINOR_VERSION >= 7
  278         unsigned long samplerate;
  279     #else
  280         guint32 samplerate;
  281     #endif
  282         guint8 channels;

Looking at what was actually selected in my system, sizeof(samplerate) returned 4. This is problematic in line 306 of gstfaad.c:
  306         if ((gint8) faacDecInit2 (faad->handle, cdata, csize, &samplerate,

The function pointed to by faacDecInit2 expects the data pointed to by the pointer supplied to be of type unsigned long, which is of size 8 on my amd64 system.

I checked the build environment for gst-plugins-bad to make sure that the minor version number was 4. It was, as expected:
  PACKAGE_VERSION_MINOR = 4

This makes sense since gst-plugins-bad is version 1.(4).5

Effectively, the #if in line 277 is selecting the wrong type, which causes for the function pointed to by faacDecInit2 to thrash 4 bytes of the stack, which then leads to a segfault a little later. I'm not quite sure what the developers had in mind with that #if check. Perhaps they forgot to update it from the 0.10 branch or set?

I'll see what I can do to inform upstream, and I'll make a patch. Let me know if anyone wants more information-- I can reproduce this issue without any problems.

emerge --info output:
Portage 2.2.19 (python 3.3.5-final-0, default/linux/amd64/13.0/desktop/kde, gcc-5.1.0, glibc-2.20-r2, 4.0.1-gentoo x86_64)
=================================================================
System uname: Linux-4.0.1-gentoo-x86_64-Intel-R-_Core-TM-_i7-4702MQ_CPU_@_2.20GHz-with-gentoo-2.2
KiB Mem:    16315300 total,   7489772 free
KiB Swap:    8191996 total,   8101796 free
Timestamp of repository gentoo: Fri, 15 May 2015 19:45:01 +0000
sh bash 4.3_p33-r2
ld GNU ld (Gentoo 2.25 p1.1) 2.25
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.3_p33-r2::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2-r1::gentoo
dev-lang/python:          2.7.9-r2::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo
dev-util/cmake:           3.2.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.16.3::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25::gentoo
sys-devel/gcc:            4.9.2::gentoo, 5.1.0::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.0::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.us.gentoo.org/gentoo-portage
    priority: -1000

Local_Overlay
    location: /usr/local/portage
    masters: gentoo
    priority: 0

bumblebee
    location: /var/lib/layman/bumblebee
    masters: gentoo
    priority: 50

steam-overlay
    location: /var/lib/layman/steam
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=haswell -pipe -fomit-frame-pointer -O2"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
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=haswell -pipe -fomit-frame-pointer -O2"
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 userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="=-ppp X a52 aac acl acpi alsa amd64 avx bash-completion berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif glamor gpm gtk iconv ipv6 jpeg kde kipi lcms ldap libnotify lm_sensors mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nls nptl nvidia ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds pulseaudio qt qt3support qt4 readline sdl semantic-desktop session spell sse sse2 sse3 sse4 ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vaapi vdpau vorbis wxwidgets x264 xcb xcomposite xinerama xml xscreensaver 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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 ublox ubx" GRUB_PLATFORMS="efi-64 emu" INPUT_DEVICES="evdev roccat_tyon synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en es" NETBEANS_MODULES="cnd mobility" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3 python3_4" RUBY_TARGETS="ruby19 ruby20 ruby21 ruby22" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau intel" 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.3 3.4"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Gabriel Marcano 2015-05-16 04:23:54 UTC
After poking around a bit more, the problem wasn't with gst-plugins-bad, but with the faad2 plugin for gstreamer. After more testing, the problem seems to be that the define that controls the conditionals causing the problem are undefined for some reason (FAAD2_MINOR_VERSION is undefined). The way faad2 works is that it expects this variable to be defined to some number in its config.h file. Checking with the config.h file confirms that it is undefined.
Comment 2 Gabriel Marcano 2015-05-16 05:24:43 UTC
Created attachment 403356 [details]
Modified gst-plugins-faad-1.4.5.ebuild

I found the problem. I am using GCC 5.1, and the preprocessor changes were breaking their configure script. I've patched it manually. I'll upload the patch in a second. I no longer get segfaults as the conditionals now work as intended.
Comment 3 Gabriel Marcano 2015-05-16 05:25:43 UTC
Created attachment 403358 [details, diff]
gst-plugins-faad-1.4.5-gcc-5-fix.patch

This patch should go in the files/ directory of the new modified ebuild.
Comment 4 Gabriel Marcano 2015-05-16 06:13:24 UTC
I made a bug report upstream. I also placed a patch for configure.ac up there. Not putting it here since using it would require calling eautoreconf every emerge, which is slower than just using the patch to fix the actual configure script.
Comment 5 Alexandre Rostovtsev (RETIRED) gentoo-dev 2015-05-25 22:48:49 UTC
Fixed by applying upstream's patch. Thanks for reporting!

+*gst-plugins-faad-1.4.5-r1 (25 May 2015)
+
+  25 May 2015; Alexandre Rostovtsev <tetromino@gentoo.org>
+  +gst-plugins-faad-1.4.5-r1.ebuild,
+  +files/gst-plugins-faad-1.4.5-version-check.patch:
+  Fix broken build with gcc-5.1 that makes Firefox segfault (bug #549612,
+  thanks to Gabriel Marcano).
Comment 6 jospezial 2015-05-26 02:58:37 UTC
I have the same symptoms with www-client/firefox-bin-38.0.1. and sys-devel/gcc-5.1.0
I was hoping this would fix my issue but no.
There is another related bug but without gcc-5.:

https://bugs.gentoo.org/show_bug.cgi?id=546990


Is media-plugins/gst-plugins-faad-0.10.23-r1 hit by this bug too?


emerge --info firefox-bin gcc gst-plugins-faad
Portage 2.2.20 (python 3.3.5-final-0, default/linux/amd64/13.0, gcc-5.1.0, glibc-2.20-r2, 4.1.0-rc5 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.1.0-rc5-x86_64-AMD_Athlon-tm-_II_X2_240_Processor-with-gentoo-2.2
KiB Mem:     4047328 total,   3013060 free
KiB Swap:    7103480 total,   7103480 free
Timestamp of repository gentoo: Tue, 26 May 2015 01:45:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25 p1.2) 2.25
ccache version 3.2.2 [enabled]
app-shells/bash:          4.3_p39::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2-r1::gentoo
dev-lang/python:          2.7.9-r2::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo
dev-util/ccache:          3.2.2::gentoo
dev-util/cmake:           3.2.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.16.3::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.10.3-r1::gentoo, 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25-r1::gentoo
sys-devel/gcc:            5.1.0::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.0::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000

overlay_jl
    location: /usr/local/portage
    masters: gentoo
    priority: 0

betagarden
    location: /var/lib/layman/betagarden
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/betagarden.git
    masters: gentoo
    priority: 50

gamerlay
    location: /var/lib/layman/gamerlay
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/gamerlay.git
    masters: gentoo
    priority: 50

java
    location: /var/lib/layman/java
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/java.git
    masters: gentoo
    priority: 50

kde
    location: /var/lib/layman/kde
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/kde.git
    masters: gentoo
    priority: 50

qt
    location: /var/lib/layman/qt
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/qt.git
    masters: gentoo
    priority: 50

wine-overlay
    location: /var/lib/layman/wine-overlay
    sync-type: laymansync
    sync-uri: git://github.com/NP-Hardass/wine-overlay.git
    masters: gentoo
    priority: 50

Installed sets: @kde-applications-live, @kde-frameworks-live, @kde-plasma-live
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /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"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask-write=y --keep-going --quiet-build=y"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache 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 userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="3dnow 3dnowext 64bit X Xaw3d a52 aac aacplus aacs aalib accessibility ace acl acpi activefilter aften alsa amd64 ap apm apng archive arping audacious audiofile automount bazaar bdplus berkdb binary-drivers bluetooth bluray boost bzip2 bzr cairo canusb ccache cdda cddb cdio cdparanoia cdr cdrdao cdrom cgi charconv chm chroot cjk clang cli client colordiff colors compress consolekit corefonts cpio cracklib crypt css cue cups curl curlwrappers cvs cxx daemon dbus declarative device-mapper dga dhcp doom doomsday dos download-subs dri dri3 dts dump dv dvb dvd dvdnav eap eap-sim eap-tls ebook egl emerald emoticon enca encode enscript equalizer evdev exif extensions extras faac faad fam farstream fat fax fbcon fdformat ffmpeg fftw firefox flac fluidsynth fontconfig foomaticdb fortran freedoom ftp fuse g3dvl gadu gallium gbm gd gdbm geoip gif gimp git glamor glut gme gnutls gpg gphoto2 gpm graphite gsm gstreamer gtk gtk3 gtkstyle gudev gui gzip hddtemp hdf hdf5 heretic hexen hid highlight hpcups hpijs http hwdb iconv icq icu id3tag idn imagemagick introspection ios ipc ipod ipv6 jack java javascript jit jpeg jpeg2k kate keymap ladspa lame lcms lensfun libass libcanberra libkms libnotify libsamplerate libssh2 libtiger libv4l libwww live llvm-shared-libs lm_sensors logrotate lua lzma lzo mad madwifi magic man matroska md5sum meanwhile mercurial metalink midi mikmod mime minizip mixer mjpeg mmap mms mmx mmxext mng mobi mod modplug modules mono mouse mozilla mp3 mp4 mpeg mpeg2 mplayer mtp multilib multimedia multislot musepack musicbrainz nano-syntax ncat ncurses ndiff network nfs nfsidmap nfsv4 nfsv41 nls nmap-update nokia normalize nowlistening nping nptl nsplugin ntfs ntfsprogs ntp nvidia nvram obex ocr ogg ogm openal opencl opengl openmax openmp openssl oscar osdmenu otr p2p pam pango panorama parport parse-clocks pcap pci pcre pcre16 pdf pipes plugins pm-utils png policykit postproc postscript ppds printsupport privacy projectm pulseaudio pvr python python3 qalculate qml qt5 quicktime r600-llvm-compiler radio rar raw rdesktop readline recording redeyes reiser4 reiserfs remote-access replaygain rpm rtc rtmp rtsp rubberband s3tc sbsms scanner schroedinger scripttools sdl secure-delete sensord session sftp sha512 shorten shout skins slang smi sndfile snowberry sockets sound soundtouch sox speex spell sql sqlite sqlite3 sse sse2 ssh ssl startup-notification statistics stk stream subtitles subversion svg swat symlink sync-plugin-portage syslog szip taglib tcpd texteffect tftp tftpd theora threads thumbnail tiff timidity tracepath traceroute translator truetype twolame udev udisks unicode upower urlpicpreview usb v4l vaapi vamp vcd vcdx vdpau video videos virtualbox vlm vnc vorbis vpx vroot vst wad wav wavpack webgl webkit webm webp webpresence widgets wifi winbind winpopup wmf wps wxwidgets x264 x265 xa xattr xcb xcomposite xfs xine xinerama xinetd xkb xml xmp xorg xosd xpm xrandr xscreensaver xv xvid xvmc yahoo zenmap zip zlib zvbi" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a" 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 ublox ubx" INPUT_DEVICES="evdev keyboard mouse joystick" 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-5" PYTHON_SINGLE_TARGET="python3_3" PYTHON_TARGETS="python2_7 python3_3 python3_4" RUBY_TARGETS="ruby19 ruby20 ruby21 ruby22" USERLAND="GNU" VIDEO_CARDS="fbdev vesa svga vga radeon modesetting r100 r200 r300 r600" 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"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

www-client/firefox-bin-38.0.1::gentoo was built with the following:
USE="startup-notification (-selinux)" ABI_X86="64" LINGUAS="de -af -ar -as -ast -be -bg -bn_BD -bn_IN -br -bs -ca -cs -cy -da -el -en_GB -en_ZA -eo -es_AR -es_CL -es_ES -es_MX -et -eu -fa -fi -fr -fy_NL -ga_IE -gd -gl -gu_IN -he -hi_IN -hr -hu -hy_AM -id -is -it -ja -kk -kn -ko -lt -lv -mai -mk -ml -mr -nb_NO -nl -nn_NO -or -pa_IN -pl -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv_SE -ta -te -tr -uk -vi -zh_CN -zh_TW"


sys-devel/gcc-5.1.0::gentoo was built with the following:
USE="cxx fortran graphite (multilib) nls nptl openmp sanitize (-altivec) (-awt) -cilk -doc (-fixed-point) -gcj -go (-hardened) (-libssp) (-multislot) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" ABI_X86="64"


media-plugins/gst-plugins-faad-0.10.23-r1::gentoo was built with the following:
USE="" ABI_X86="64 -32 -x32"


media-plugins/gst-plugins-faad-1.4.5-r1::gentoo was built with the following:
USE="" ABI_X86="64 -32 -x32"
Comment 7 Alexandre Rostovtsev (RETIRED) gentoo-dev 2015-05-26 03:13:24 UTC
(In reply to jospezial from comment #6)
> I have the same symptoms with www-client/firefox-bin-38.0.1. and
> sys-devel/gcc-5.1.0
> I was hoping this would fix my issue but no.
> There is another related bug but without gcc-5.:
> 
> https://bugs.gentoo.org/show_bug.cgi?id=546990
> 
> 
> Is media-plugins/gst-plugins-faad-0.10.23-r1 hit by this bug too?

Even if 0.10 has this bug, it should not affect your situation.

If I remember correctly, firefox (non-bin) switched from gstreamer-0.10 to 1.0 sometime around version 30 or 31.

And I think that firefox-bin currently does not use gstreamer at all.
Comment 8 Alexandre Rostovtsev (RETIRED) gentoo-dev 2015-05-26 03:28:17 UTC
(In reply to jospezial from comment #6)

However, thanks for pointing out that gst-plugins-faad-0.10.x also needed to be checked for this issue :)

+*gst-plugins-faad-0.10.23-r2 (26 May 2015)
+
+  26 May 2015; Alexandre Rostovtsev <tetromino@gentoo.org>
+  +gst-plugins-faad-0.10.23-r2.ebuild, gst-plugins-faad-1.4.5-r1.ebuild:
+  Fix broken gcc-5.1 build for gst:0.10 too, thanks to jospezial.
Comment 9 jospezial 2015-05-26 05:25:20 UTC
> > Is media-plugins/gst-plugins-faad-0.10.23-r1 hit by this bug too?
> 
> Even if 0.10 has this bug, it should not affect your situation.
> 
> If I remember correctly, firefox (non-bin) switched from gstreamer-0.10 to
> 1.0 sometime around version 30 or 31.
> 
> And I think that firefox-bin currently does not use gstreamer at all.

Guess what?
gst-plugins-faad-0.10.23-r2 fixes my issue.

And the answer you see in the output gdb when I play a youtube html5 video with www-client/firefox-bin-38.0.1:

Reading symbols from /usr/lib64/libnettle.so.4...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/libgmp.so.10...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/libtasn1.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/libfftw3f.so.3...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/gstreamer-0.10/libgstaudioparsers.so...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/gstreamer-0.10/libgstcoreindexers.so...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/gstreamer-0.10/libgstfaad.so...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/libfaad.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/gstreamer-0.10/libgstffmpegcolorspace.so...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/gstreamer-0.10/libgstvideoscale.so...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/gstreamer-0.10/libgstvolume.so...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/libgstcontroller-0.10.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/gstreamer-0.10/libgstaudioconvert.so...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/gstreamer-0.10/libgstaudioresample.so...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/liborc-test-0.4.so.0...(no debugging symbols found)...done.
0x00007f5b050465ad in poll () from /lib64/libc.so.6



Thank you all so much!