Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 616512 - =www-client/firefox-bin-{52.1.0,53.0}: video doesn't work with media-sound/apulse-0.1.6-r1
Summary: =www-client/firefox-bin-{52.1.0,53.0}: video doesn't work with media-sound/ap...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-24 17:07 UTC by Alex Efros
Modified: 2019-03-31 20:06 UTC (History)
2 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 Alex Efros 2017-04-24 17:07:26 UTC
I've tested this on two systems, one with fluxbox and another with xfce, but both hardened. Also this may be related to bug 613980 and/or hardened.

New firefox versions which require pulseaudio doesn't play video (youtube and others) when installed with USE=-pulseaudio. (I didn't tried with pulseaudio yet because I dislike it.)

If apulse isn't installed then video plays without sound, if apulse (0.1.6-r1, current stable) is installed then video doesn't play at all. Also if apulse is installed then firefox crashes on exit - it exits for very long time, then output this to console and start "Mozilla Crash Reporter":

---cut---
WARNING: At least one completion condition is taking too long to complete. Conditions: [{"name":"MediaShutdownManager: shutdown","state":"(none)","filename":"/home/worker/workspace/build/src/dom/media/MediaShutdownManager.cpp","lineNumber":74,"stack":"MediaShutdownManager shutdown"}] Barrier: profile-before-change
FATAL ERROR: AsyncShutdown timeout in profile-before-change Conditions: [{"name":"MediaShutdownManager: shutdown","state":"(none)","filename":"/home/worker/workspace/build/src/dom/media/MediaShutdownManager.cpp","lineNumber":74,"stack":"MediaShutdownManager shutdown"}] At least one completion condition failed to complete within a reasonable amount of time. Causing a crash to ensure that we do not leave the user with an unresponsive process draining resources.
[9058] ###!!! ABORT: file /home/worker/workspace/build/src/dom/media/MediaShutdownManager.cpp, line 74
[9058] ###!!! ABORT: file /home/worker/workspace/build/src/dom/media/MediaShutdownManager.cpp, line 74
ExceptionHandler::GenerateDump cloned child 9979
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
2017-04-24 19:50:33: minidump.cc:4808: ERROR: ReadBytes: read 0/32                                  
2017-04-24 19:50:33: minidump.cc:4453: ERROR: Minidump cannot read header
---cut---


Portage 2.3.3 (python 3.4.5-final-0, hardened/linux/amd64, gcc-5.4.0, glibc-2.23-r3, 4.8.17-hardened-r2 x86_64)
=================================================================
System uname: Linux-4.8.17-hardened-r2-x86_64-Intel-R-_Core-TM-_i7-2600K_CPU_@_3.40GHz-with-gentoo-2.3
KiB Mem:    24644164 total,   6987860 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Mon, 24 Apr 2017 15:45:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r1::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.24.2::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.26.1::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync3.ua.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: --exclude ChangeLog --delete-excluded

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

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

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

powerman
    location: /home/powerman/proj/gentoo/powerman-overlay
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /service /usr/inferno/keydb /usr/inferno/lib /usr/inferno/services /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /usr/share/i2p/scripts /var/log /var/qmail/alias /var/qmail/control"
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="--with-bdeps=y --autounmask-write --alert=y"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-logs clean-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 xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://tux.rainside.sk/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ http://gentoo.inode.at/"
LANG="ru_RU.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage-packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude ChangeLog --delete-excluded"
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 --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi adns aes alac alsa amd64 avx bash-completion berkdb bluetooth branding bzip2 cairo caps cdda cddb cdr chm cli consolekit cracklib crypt cups cxx dbus djvu dri dts dvb dvd dvdr emboss encode exif fam ffmpeg firefox flac fontconfig gallium gdbm gif glamor gpg gtk gtkstyle hardened iconv icu id3tag idn ipv6 jpeg jpeg2k justify lcms libnotify mac mad matroska mmx mmxext mng modules mp3 mp4 mpeg multilib musepack ncurses network-cron nls nptl nsplugin ogg opengl openmp pam pango pax_kernel pcre pdf perl pie png policykit popcnt ppds qt5 readline sdl seccomp session spell sse sse2 sse3 sse4_1 sse4_2 ssl ssp ssse3 startup-notification svg tcpd theora tiff truetype udev udisks unicode upower urandom usb vdpau vim-syntax vorbis wavpack wxwidgets x264 xattr xcb xml xscreensaver xtpax xv xvid xvmc 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="log_config vhost_alias autoindex alias rewrite dir deflate filter mime negotiation auth_basic authn_file authz_host authz_user authz_groupfile cgi actions headers env setenvif authn_core authz_core unixd socache_shmcb access_compat" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en ru ru_RU" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset empty_gif fastcgi geo gzip limit_conn limit_req map memcached proxy referer rewrite scgi split_clients ssi upstream_ip_hash userid uwsgi fancyindex" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="x86_64 i386" QEMU_USER_TARGETS="x86_64 i386" RUBY_TARGETS="ruby21 ruby22" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau" XFCE_PLUGINS="clock trash" 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:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON
Comment 1 Alex Efros 2017-04-24 17:26:18 UTC
I've solved this issue by upgrading to latest ~arch apulse-0.1.9 - this fixed both video play and crash on exit.

It feels like there is small lag between video and audio (comparing to no-pulseaudio-at-all www-client/firefox-52.0.2), but it's hard to measure and prove, and have nothing with this issue anyway.
Comment 2 Arfrever Frehtes Taifersar Arahesis 2017-05-01 23:08:24 UTC
>=media-sound/apulse-0.1.9 is already in dependencies since https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27dfc5592208b407bbaf26cbc780bfae5294c001 (from 2017-04-13 which is before this bug was filed) which introduced:

	pulseaudio? ( || ( media-sound/pulseaudio
		>=media-sound/apulse-0.1.9 ) )


Having separate "apulse" USE flag would avoid confusion of users, who need to manually install >=media-sound/apulse-0.1.9, because dependency resolver would choose media-sound/pulseaudio when neither is installed.
If idea of "apulse" USE flag is rejected, then there is nothing to do in www-client/firefox-bin ebuilds.
Comment 3 Alex Efros 2017-05-02 00:33:24 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #2)
> If idea of "apulse" USE flag is rejected, then there is nothing to do in
> www-client/firefox-bin ebuilds.

Hmm. Looks like there is at least two things which can be done, one of them is in firefox-bin ebuild:

- Stabilize apulse-0.1.9.
- Mention required apulse version in ewarn.
Comment 4 Ian Stakenvicius (RETIRED) gentoo-dev 2017-05-02 01:43:40 UTC
(In reply to Alex Efros from comment #3)
> (In reply to Arfrever Frehtes Taifersar Arahesis from comment #2)
> > If idea of "apulse" USE flag is rejected, then there is nothing to do in
> > www-client/firefox-bin ebuilds.
> 
> Hmm. Looks like there is at least two things which can be done, one of them
> is in firefox-bin ebuild:
> 
> - Stabilize apulse-0.1.9.
> - Mention required apulse version in ewarn.

Actually, I think I can handle this in dependencies -- RDEPEND="!<media-sound/apulse-0.1.9" should do the trick, that'll keep a too-old apulse from being installed and used when firefox-bin is installed.

I do wonder why media-sound/apulse was permitted to satisfy the dependency when it wasn't new enough...
Comment 5 Ian Stakenvicius (RETIRED) gentoo-dev 2017-05-02 01:48:59 UTC
(In reply to Alex Efros from comment #1)
> I've solved this issue by upgrading to latest ~arch apulse-0.1.9 - this
> fixed both video play and crash on exit.
> 
> It feels like there is small lag between video and audio (comparing to
> no-pulseaudio-at-all www-client/firefox-52.0.2), but it's hard to measure
> and prove, and have nothing with this issue anyway.

Yes I've noticed that lag as well.  Not much can be done about that so far as I know.  Theoretically it would go away if the full pulseaudio is used.
Comment 6 Jory A. Pratt gentoo-dev 2019-03-31 20:06:15 UTC
Please feel free to reopen and update any bug report that can be duplicated with current esr builds, 60.x. If you feel your feature needs to be re looked at in any of these bugs reopen and update, please attach patches when appropriate. Thank you Mozilla Team