Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 171878 - media-video/totem-2.18.x nsplugin crashes on amd64
Summary: media-video/totem-2.18.x nsplugin crashes on amd64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
: 194891 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-03-23 04:18 UTC by Alexandre Rostovtsev (RETIRED)
Modified: 2007-12-12 04:40 UTC (History)
1 user (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 Alexandre Rostovtsev (RETIRED) gentoo-dev 2007-03-23 04:18:02 UTC
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"
Comment 1 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-03-23 10:53:11 UTC
This is probably an amd64 problem. I didn't experienced this on x86.
Comment 2 brad walker 2007-06-01 00:01:22 UTC
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
Comment 3 brad walker 2007-06-01 00:03:02 UTC
i forgot to note, this happened with the totem-2.18.1 ebuild in portage.
Comment 4 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-06-01 06:22:38 UTC
Do you have both mozilla-firefox and xulrunner installed ?

Which use flags are you using to compile totem ?
Comment 5 brad walker 2007-06-01 08:55:39 UTC
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 
Comment 6 brad walker 2007-06-01 09:45:15 UTC
update: i tried totem-2.18.1-r1 again without -Wl,--as-needed. no more luck.
Comment 7 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-09-04 14:06:04 UTC
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 ?
Comment 8 Alexandre Rostovtsev (RETIRED) gentoo-dev 2007-09-04 23:14:29 UTC
(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?
Comment 9 Alexandre Rostovtsev (RETIRED) gentoo-dev 2007-09-04 23:15:24 UTC
(In reply to comment #8)
> systrace?)

I meant strace.
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2007-10-06 09:57:49 UTC
*** Bug 194891 has been marked as a duplicate of this bug. ***
Comment 11 Patrizio Bassi 2007-10-06 10:01:26 UTC
i just tried 2.20 and it still has the same issue
Comment 12 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-10-06 23:16:47 UTC
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 ?
Comment 13 Alexandre Rostovtsev (RETIRED) gentoo-dev 2007-10-07 01:05:55 UTC
(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...
Comment 14 Patrizio Bassi 2007-10-07 11:32:57 UTC
mine is compiled from sources as well
Comment 15 Alexandre Rostovtsev (RETIRED) gentoo-dev 2007-12-10 00:04:46 UTC
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.
Comment 16 Patrizio Bassi 2007-12-10 18:50:30 UTC
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
Comment 17 Alexandre Rostovtsev (RETIRED) gentoo-dev 2007-12-10 20:41:18 UTC
(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
Comment 18 Saleem Abdulrasool (RETIRED) gentoo-dev 2007-12-12 04:40:20 UTC
Closing as this should be fixed in the recent versions of totem (and comments #15, #17).