The firefox plugin from media-video/totem-2.16.5 worked fine and stable. Upgrading to media-video/totem-2.18.0 from the gnome-experimental overlay crashes the browser whenever the plugin is activated: $ firefox [...] /usr/lib64/mozilla-firefox/firefox-bin: symbol lookup error: /usr/lib64/nsbrowser/plugins/libtotem-basic-plugin.so: undefined symbol: NS_CStringContainerInit firefox-bin exited with non-zero status (127) Running ldd on /usr/lib64/nsbrowser/plugins/libtotem-basic-plugin.so revealed that the plugin was not linked to libxpcom.so. In my experience, failing to link to libxpcom.so when needed is a frequent cause of nsplugin crashes. Indeed, after a bit of trial and error, I discovered that # BROWSER_PLUGIN_LIBS="-L/usr/lib64/mozilla-firefox -lxpcom" emerge totem produced a working firefox plugin. The correct solution is probably to patch configure.in, but the BROWSER_PLUGIN_LIBS hack also works on my system. --- # emerge --info Portage 2.1.2.2 (default-linux/amd64/2006.1/desktop, gcc-4.1.2, glibc-2.5-r1, 2.6.20-gentoo-r2 x86_64) ================================================================= System uname: 2.6.20-gentoo-r2 x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz Gentoo Base System version 1.12.9 Timestamp of tree: Thu, 22 Mar 2007 19:00:01 +0000 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31-r5 dev-lang/python: 2.4.4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.15-r1 sys-devel/libtool: 1.5.23b virtual/os-headers: 2.6.20-r2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=nocona -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps=y" FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict userfetch userpriv" GENTOO_MIRRORS="http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1" LINGUAS="en ru" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/auto-portage /usr/portage/local/layman/hanno-xgl /usr/portage/local/layman/armagetron /usr/portage/local/layman/gnome-experimental /usr/portage/local/layman/sunrise /usr/local/portage"
This is probably an amd64 problem. I didn't experienced this on x86.
i have the same on an athlon-xp 2600+. $ firefox No running windows found ** Message: GetValue variable 1 (1) ** Message: GetValue variable 2 (2) ** Message: GetValue variable 1 (1) ** Message: GetValue variable 2 (2) ** Message: GetValue variable 1 (1) ** Message: GetValue variable 2 (2) ** Message: GetValue variable 1 (1) ** Message: GetValue variable 2 (2) ** Message: GetValue variable 1 (1) ** Message: GetValue variable 2 (2) ** Message: NP_Initialize ** Message: NP_Initialize succeeded /usr/lib/mozilla-firefox/firefox-bin: symbol lookup error: /usr/lib/nsbrowser/plugins/libtotem-gmp-plugin.so: undefined symbol: NS_CStringContainerInit firefox-bin exited with non-zero status (127) # emerge --info Portage 2.1.2.7 (default-linux/x86/2006.1/desktop, gcc-4.1.2, glibc-2.5-r3, 2.6.21-ck2 i686) ================================================================= System uname: 2.6.21-ck2 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System release 1.12.9 Timestamp of tree: Thu, 31 May 2007 19:30:01 +0000 dev-java/java-config: 1.3.7, 2.0.32 dev-lang/python: 2.5.1-r2 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=athlon-xp -mfpmath=sse -floop-optimize2 -ftracer -fomit-frame-pointer -ggdb -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O3 -march=athlon-xp -mfpmath=sse -floop-optimize2 -ftracer -fomit-frame-pointer -ggdb -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="buildsyspkg distlocks metadata-transfer sandbox sfperms splitdebug strict" GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ " LDFLAGS="-Wl,--as-needed" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X aac aalib acl acpi alsa apache2 audiofile bash-completion berkdb bitmap-fonts bonobo bzip2 cairo cdparanoia cdr cli cracklib crypt cscope cups curl dbus djvu doc dri dvd dvdr emacs emboss encode expat fam ffmpeg firefox flac fontconfig foomaticdb ftp gd gdbm gif gnome gnutls gpm gstreamer gtk hal iconv imagemagick ipod isdnlog jbig jpeg lcd lcms ldap libcaca libg++ libnotify lm_sensors mad midi mikmod mmap mmx mmxext mng mp3 mpeg mudflap mysql ncurses nls nptl nptlonly nsplugin ogg opengl openmp oss pam pango pcre pdf png postgres ppds pppd python quicktime readline real reflection samba sdl session spell spl sqlite sqlite3 sse ssl startup-notification svg symlink tcpd threads tiff tk truetype truetype-fonts type1-fonts unicode v4l v4l2 vorbis win32codecs wmf wxwindows x86 xcb xcomposite xinerama xml xorg xprint xscreensaver xv xvid zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="evdev keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
i forgot to note, this happened with the totem-2.18.1 ebuild in portage.
Do you have both mozilla-firefox and xulrunner installed ? Which use flags are you using to compile totem ?
i have only www-client/mozilla-firefox-2.0.0.3 installed. here's the totem and flags (note: i have since reverted back to 2.16 for the xine backend: [ebuild U ] media-video/totem-2.18.1-r1 [2.16.5] USE="dvd ffmpeg flac gnome hal mad mpeg nsplugin ogg vorbis xv -a52 -debug -lirc -nvtv -seamonkey% -theora -xulrunner% (-dbus%*) (-firefox%*) (-xine%*)" 0 kB
update: i tried totem-2.18.1-r1 again without -Wl,--as-needed. no more luck.
wrt to your first comment, I just had a 64 bit box for work and didn't encounter this problem with totem 2.18.2, 2.18.3 and 2.19.x and none of the plugins list xpcom in their ldd output (nor with readelf -d) but they do work (I go to the trailers part of apple website to check) On the other hand, I found out that plugins were installed in /usr/lib64/nsbrowser and not in /usr/lib64/nsbrowser/plugins and so plugins weren't not working before I moved them to the latter. Could you check with more recent versions of totem and get a trace of the crash if it still exists ?
(In reply to comment #7) > Could you check with more recent versions of totem and get a trace of the crash > if it still exists ? Crash still exists: ** Message: NP_Initialize ** Message: NP_Initialize succeeded /usr/lib64/mozilla-firefox/firefox-bin: symbol lookup error: /usr/lib64/nsbrowser/plugins/libtotem-gmp-plugin.so: undefined symbol: NS_CStringContainerInit firefox-bin exited with non-zero status (127) What would be the procedure for getting a trace (what kind? backtrace? systrace?) from a browser plugin without getting flooded with the browser's own function calls?
(In reply to comment #8) > systrace?) I meant strace.
*** Bug 194891 has been marked as a duplicate of this bug. ***
i just tried 2.20 and it still has the same issue
err, I just noticed that you report a bug against a binary package of firefox. afaik this is not supposed to work as the binary version of firefox might be different than the one you have installed to build totem plugins. This means that totem plugins are only supposed to work in the firefox you compiled (in your case). On my side I use epiphany which is compiled against the firefox/xulrunner that was built on the system so I don't have this problem. Could you check that it works or not with the non binary firefox you have installed ?
(In reply to comment #12) Bug is against non-binary firefox. /usr/lib64/mozilla-firefox/firefox-bin is www-client/mozilla-firefox; /opt/firefox/firefox-bin is www-client/mozilla-firefox-bin Gentoo does not have 64-bit binary firefox...
mine is compiled from sources as well
Found an easier way to fix it. It seems that USE="firefox -xulrunner" on totem-2.20.1, while building against firefox-2.0.0.11, finally produces working plugins on my machine. I am not sure whether my earlier problems were caused by a bug in firefox or totem. Building against xulrunner-1.18.1.11, however, still causes crashes with the same error message as before.
where's the "firefox" useflag? i cannot see it [ebuild R ] media-video/totem-2.20.1 USE="a52 dvd ffmpeg flac gnome hal lirc mad mpeg nsplugin ogg python theora vorbis xv -bluetooth -debug -galago -nvtv -seamonkey -xulrunner" 2,145 kB
(In reply to comment #16) Good point. I didn't notice that the firefox flag had been removed from the ebuild. Still, USE="nsplugin -xulrunner" works and produces a working plugin. Also, I had mistyped the xulrunner version in comment #15; I meant xulrunner-1.8.1.11
Closing as this should be fixed in the recent versions of totem (and comments #15, #17).