Executing firefox as the user who logged in via nxclient will fail (it hangs doing nothing). Unsetting LD_PRELOAD and then executing firefox will succeed. Executing firefox as another user with proper Xauth config will succeed (due to LD_PRELOAD not being set). Reproducible: Always Steps to Reproduce: 1. Get a complete system setup with www-client/mozilla-firefox-3.5.2-r1 and net-misc/nxserver-freenx-0.7.3_p104-r1 2. Connect from another gentoo box with net-misc/nxclient-3.3.0.6 3. execute /usr/bin/firefox 4. Watch as firefox does absolutely nothing Actual Results: See step 4. firefox does nothing at all (no window, no logging, nothing) Expected Results: standard firefox startup unset LD_PRELOAD (set by NX to: LD_PRELOAD=/usr/NX/lib/libesddsp.so.0 /usr/NX/lib/libesd.so.0) This is the root solution, now how do you implement it? :) Portage 2.1.6.13 (default/linux/amd64/2008.0, gcc-4.4.1, glibc-2.10.1-r0, 2.6.30-gentoo-r5 x86_64) ================================================================= System uname: Linux-2.6.30-gentoo-r5-x86_64-Intel-R-_Xeon-TM-_CPU_3.60GHz-with-gentoo-2.0.1 Timestamp of tree: Thu, 20 Aug 2009 14:45:01 +0000 app-shells/bash: 4.0_p28 dev-java/java-config: 2.1.8-r1 dev-lang/python: 2.6.2-r1, 3.1.1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 2.0 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64 ~amd64 ~x86" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://lug.mtu.edu/gentoo/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://www.gtlib.gatech.edu/pub/gentoo" LDFLAGS="-Wl,-O1" LINGUAS="en_US en" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/vmware /usr/local/portage/local" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X accessibility acpi alsa amd64 bash-completion bzip2 cddb cleartype cli consolekit cracklib crypt curl dbus fam glx gtk hal iconv jpeg libnotify logrotate midi mmx multilib ncurses nls nptl nptlonly nsplugin ntp opengl pam pcf pcre perl pmu png python qt3support readline samba session sqlite sse sse2 ssl ssse3 startup-notification svg tcpd tiff truetype unicode xcomposite xinerama xorg xrender xscreensaver xulrunner xvmc zlib" 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" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US en" USERLAND="GNU" VIDEO_CARDS="dummy" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I hit this too, on mozilla-firefox-3.5.2-r1 with net-misc/nxserver-freenx-0.7.3-r2, except my LD_PRELOAD was set by nx to: "libesddsp.so.0 libesd.so.0". Clearing that setting allowed firefox to start normally. Thanks a lot for the tip. Impressive.
Another work-around: Disable the server-client Multimedia services in the nx client (Configure, Services Tab). It seems that the LD_PRELOAD settings are only applied when multimedia services are turned on.
The "sux" X-oriented su tool will display error messages referring to these two libraries when it starts, but it still starts. Perhaps this is an nx bug, instead of firefox.
(In reply to comment #3) > The "sux" X-oriented su tool will display error messages referring to these two > libraries when it starts, but it still starts. > > Perhaps this is an nx bug, instead of firefox. > I would suspect so as it is first time anyone has reported such a problem.
Perhaps this should be left open as a mozilla-firefox bug. Even with LD_PRELOAD set correctly, firefox hangs. Other apps stop complaining when the full path is provided in LD_PRELOAD. Broken default setting: LD_PRELOAD="libesddsp.so.0 libesd.so.0" Works for other apps, but not for firefox: LD_PRELOAD="/usr/lib/libesddsp.so.0 /usr/lib/libesd.so.0" This could still be a problem with nxserver failing to set up its use of esound correctly, with firefox as the victim.
Just to confirm most of your findings here: the libesd LD_PRELOAD is indeed only applied with "multimedia services" on (it is used to redirect the remote sound to the client) And I have reproduced this behaviour too with firefox 3.5 (I'm pretty sure 3.0 worked fine), while other applications that generate sound do not hang. I'll see what upstream or #nx guys think about it (same problem appears with binary freeedition server)
If someone can fully show mozilla needing to be involved, please re-add.
Latest ~arch packages for nxnode and nxserver-freeedition should fix the problem (not tested though, but mentioned in release notes)
Even if the 2011 fix did not work, the packages have now been dropped from tree for some time :)