Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 138111 - www-client/mozilla-firefox: freezes X with nvidia drivers
Summary: www-client/mozilla-firefox: freezes X with nvidia drivers
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: X11 External Driver Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-26 14:12 UTC by Daniel Kaplun
Modified: 2007-07-12 17:01 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
index_.php (index_.php,434 bytes, application/x-php)
2006-06-26 14:14 UTC, Daniel Kaplun
Details
Output (dotoall.php?type&model,7.06 KB, text/plain)
2006-06-26 14:20 UTC, Daniel Kaplun
Details
emerge --info (emerge--info,3.19 KB, text/plain)
2006-08-21 12:45 UTC, Alan Briolat
Details
Xorg conf for Coment #44 (xorg.conf,5.82 KB, text/plain)
2006-10-12 18:52 UTC, Kevin Bowling
Details
Xorg log for Coment #44 (Xorg.0.log.old,27.34 KB, text/plain)
2006-10-12 18:53 UTC, Kevin Bowling
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Kaplun 2006-06-26 14:12:52 UTC
I was trying to print a file and print all directories in my web server using PHP. As soon as I did so and viewed the contents in Firefox, X froze. I tried again and it froze again. This is a Firefox bug, not a LAMP bug. The server is remote, e.g. PHP processing did not occur on the machine with X/Firefox. The exact PHP source I used was:

<?php
	if($_SERVER['REMOTE_ADDR'] != "XXX.XXX.XXX.XXX") // Not showing IP for security reasons
		die("You're not me.");
	if($root = opendir($rootname = getcwd()."/"))
	{
		header("Content-Type: text/plain");
		echo file_get_contents("index_.php")."\n\n\n\n";
		if(isset($_GET['type']))
			while(($typename = readdir($root)) !== FALSE)
				if($typename{0} != "." && file_exists(($typename = $rootname.$typename."/")."index.php") && $type = opendir($typename))
				{
					// Start Type Code Here
					// End Type Code Here
					if(isset($_GET['model']))
						while(($modelname = readdir($type)) !== FALSE)
							if($modelname{0} != "." && file_exists($modelname = $typename.$modelname."/index.php"))
							{
								// Start Model Code Here
							//	$model = fopen($modelname, 'w');
							//	fwrite($model, file_get_contents("index_.php"));
							//	fclose($model);
								echo $modelname."<br>";
								// End Model Code Here
								closedir($model);
							}
					closedir($type);
				}
		closedir($root);
	}
?>
Comment 1 Daniel Kaplun 2006-06-26 14:14:07 UTC
Created attachment 90212 [details]
index_.php

First thing printed out
Comment 2 Daniel Kaplun 2006-06-26 14:20:03 UTC
Created attachment 90213 [details]
Output

Exactly what printed out - getting from wget
Comment 3 Stefan Cornelius (RETIRED) gentoo-dev 2006-07-01 07:31:25 UTC
anarchy, please have a look if you can reproduce this
Comment 4 Tim Yamin (RETIRED) gentoo-dev 2006-07-15 07:17:21 UTC
Can't reproduce here. What firefox version, what X.org version, are you using any binary X drivers of some sort... X locking up totally is usually something else being buggy (meaning, not Firefox)... you might want to SSH into your machine and then strace things to see why/when they die; I've had similar things happen due to faulty hardware. Doesn't look like a security issue, reassigning to the X folks...
Comment 5 Jeff Plotzke 2006-07-30 19:28:53 UTC
Same thing happens to me -- Even if I click on the [edit] button next to the attachment for the output in comment #2, Firefox will begin rendering the page, then X freezes and I can't do anything.

Using:
Firefox 1.5.0.4
X.org 7.0-r1
Using nvidia-kernel 1.0.8762-r1

(entire emerge --info posted as attachment)

After the freeze, this appears in my Xorg log:

...
SetGrabKeysState - enabled
SetGrabKeysState - disabled
SetGrabKeysState - enabled
SetGrabKeysState - disabled
SetGrabKeysState - enabled
SetGrabKeysState - disabled
SetGrabKeysState - enabled

   *** If unresolved symbols were reported above, they might not
   *** be the reason for the server aborting.

Backtrace:
0: /usr/bin/X(xf86SigHandler+0x87) [0x80bea84]
1: [0xffffe420]
2: /lib/tls/libc.so.6(malloc+0x82) [0xb7d05d13]
3: /usr/bin/X(Xalloc+0x29) [0x81c2f36]
4: /usr/lib/xorg/modules/drivers/nvidia_drv.so(_nv000391X+0xb7) [0xb734f65f]

Fatal server error:
Caught signal 11.  Server aborting

---

plotzke-mobile jeff # emerge --info
Portage 2.1-r1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.16-gentoo-r11 i686)
=================================================================
System uname: 2.6.16-gentoo-r11 i686 Intel(R) Pentium(R) 4 Mobile CPU 2.00GHz
Gentoo Base System version 1.6.15
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE=""
ARCH="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CCACHE_DIR="/var/tmp/ccache/"
CCACHE_SIZE="2G"
CFLAGS="-O3 -march=pentium4m -pipe"
CHOST="i686-pc-linux-gnu"
CLASSPATH="."
CLEAN_DELAY="5"
COLORTERM="gnome-terminal"
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 /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CVS_RSH="ssh"
CXXFLAGS="-O3 -march=pentium4m -pipe"
DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-ujigoYpkr8,guid=ec67cd4453ce10aa3863ed6e44f63d00"
DESKTOP_SESSION="gnome"
DESKTOP_STARTUP_ID=""
DISPLAY=":0.0"
DISTDIR="/usr/portage/distfiles"
EDITOR="/bin/nano"
ELIBC="glibc"
EMERGE_WARNING_DELAY="10"
FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict"
FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -P ${DISTDIR} ${URI}"
GCC_SPECS=""
GDK_USE_XFT="1"
GDMSESSION="gnome"
GDM_XSERVER_LOCATION="local"
GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ "
GNOME_DESKTOP_SESSION_ID="Default"
GNOME_KEYRING_SOCKET="/tmp/keyring-WIzaJr/socket"
GTK_RC_FILES="/etc/gtk/gtkrc:/home/jeff/.gtkrc-1.2-gnome2"
GUILE_LOAD_PATH="/usr/share/guile/1.6"
G_BROKEN_FILENAMES="1"
G_FILENAME_ENCODING="UTF-8"
HOME="/root"
HOSTNAME="plotzke-mobile"
INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/info:/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/info"
INPUT_DEVICES="keyboard mouse"
JAVAC="/opt/blackdown-jdk-1.4.2.03/bin/javac"
JAVA_HOME="/opt/blackdown-jdk-1.4.2.03"
JDK_HOME="/opt/blackdown-jdk-1.4.2.03"
KDEDIRS="/usr"
KERNEL="linux"
LADSPA_PATH="/usr/lib/ladspa"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe.sh %s"
LINGUAS="en"
LOGNAME="root"
MAKEOPTS="-j2"
MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/man:/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/man::/opt/blackdown-jdk-1.4.2.03/man:/usr/qt/3/doc/man:/opt/vmware/workstation/man"
OPENGL_PROFILE="nvidia"
PAGER="/usr/bin/less"
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
PKGDIR="/usr/portage/packages"
PORTAGE_ARCHLIST="ppc s390 amd64 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha ppc-macos hppa x86"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_BIN_PATH="/usr/lib/portage/bin"
PORTAGE_CALLER="emerge"
PORTAGE_CONFIGROOT="/"
PORTAGE_ELOG_CLASSES="log warn error"
PORTAGE_ELOG_MAILFROM="portage"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_GID="250"
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_PYM_PATH="/usr/lib/portage/pym"
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'"
PORTAGE_RSYNC_RETRIES="3"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_WORKDIR_MODE="0700"
PORTDIR="/usr/portage"
PRELINK_PATH=""
PRELINK_PATH_MASK="/usr/lib/gstreamer-0.10"
PWD="/home/jeff"
PYTHONDOCS="/usr/share/doc/python-docs-2.4.3/html"
PYTHONPATH="/usr/lib/portage/pym"
QMAKESPEC="linux-g++"
QTDIR="/usr/qt/3"
RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -P ${DISTDIR} ${URI}"
ROOT="/"
RPMDIR="/usr/portage/rpm"
SESSION_MANAGER="local/plotzke-mobile:/tmp/.ICE-unix/7574"
SHELL="/bin/bash"
SHLVL="2"
SSH_AGENT_PID="7594"
SSH_AUTH_SOCK="/tmp/ssh-FEIqfM7574/agent.7574"
SYNC="rsync://gentoo.plotzke.com/gentoo-portage"
TERM="gnome"
USE="x86 X acpi alsa apache2 apm arts avi berkdb bitmap-fonts cdr cli crypt cups dbus dlloader doc dri dvd eds emboss encode esd evolution firefox foomaticdb fortran gdbm gif gmail gnome gpm gstreamer gtk gtk2 hal ieee1394 imap imlib ipv6 isdnlog jack java jpeg kde libg++ libwww mad mikmod mmx motif mp3 mpeg nautilus ncurses nls nntp nptl nvtv ogg opengl oss pam pcre pdf pdflib perl png pop pppd python qt qt3 qt4 quicktime readline reflection samba sdl session spell spl sse sse2 ssl tcpd tetex tiff toolbar truetype truetype-fonts type1-fonts udev unicode usb vorbis xinerama xml xmms xorg xprint xv zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_en userland_GNU video_cards_nvidia video_cards_vesa"
USER="root"
USERLAND="GNU"
USERNAME="jeff"
USE_EXPAND="DVB_CARDS ELIBC FCDSL_CARDS FRITZCAPI_CARDS INPUT_DEVICES KERNEL LINGUAS LIRC_DEVICES USERLAND VIDEO_CARDS"
USE_EXPAND_HIDDEN="ELIBC KERNEL USERLAND"
USE_ORDER="env:pkg:conf:defaults"
VIDEO_CARDS="nvidia vesa"
WINDOWID="52430732"
XARGS="xargs -r"
XAUTHORITY="/root/.xauth6UzlGX"
_="/usr/bin/emerge"

Comment 6 Daniel Kaplun 2006-08-01 16:00:11 UTC
I set it to security because it is a possible exploit. I'm on mozilla-firefox-1.5.0.5, xorg-x11-7.0-r1, and nvidia-kernel-1.0.8762-r1.
Comment 7 Alan Briolat 2006-08-21 12:45:44 UTC
Created attachment 94799 [details]
emerge --info

Same problem here.

mozilla-firefox-1.5.0.6
mozilla-firefox-bin-1.5.0.5
xorg-x11-7.0-r1
nvidia-kernel-1.0.8762-r1

As an interesting side note - when I started firefox up again after logging back in, my session was restored so it loaded the attachement that causes X to die, however I could use things quite happily for about the 5 minutes until i gave firefox focus.  After firefox getting focus, X died about 2 seconds later.

emerge --info as attachment
Comment 8 Daniel Kaplun 2006-10-01 17:47:32 UTC
Seems to be fixed with Firefox 2.
Comment 9 Kevin Bowling 2006-10-12 18:52:19 UTC
Created attachment 99496 [details]
Xorg conf for Coment #44
Comment 10 Kevin Bowling 2006-10-12 18:53:58 UTC
Created attachment 99497 [details]
Xorg log for Coment #44

Please ignore the crash at the end, resulted from killing kdm server.
Comment 11 Kevin Bowling 2006-10-12 18:58:44 UTC
Disregard the last two attachments.  Stupid bugzilla "feature" jumping to the next but after commenting...
Comment 12 Joshua Baergen (RETIRED) gentoo-dev 2006-10-12 19:47:28 UTC
From the log:
(**) NVIDIA(0): Enabling RENDER acceleration

Try adding
Option "RenderAccel" "false"
to your video card section.
Comment 13 Daniel Kaplun 2006-10-13 10:12:11 UTC
(In reply to comment #12)
> From the log:
> (**) NVIDIA(0): Enabling RENDER acceleration
> 
> Try adding
> Option "RenderAccel" "false"
> to your video card section.
> 
That's a HUGE hack. I think he'd rather have accelerated rendering than not having X crash after a one out of one million chance bug.
Comment 14 Joshua Baergen (RETIRED) gentoo-dev 2006-10-13 10:15:37 UTC
(In reply to comment #13)
> That's a HUGE hack. I think he'd rather have accelerated rendering than not
> having X crash after a one out of one million chance bug.
> 

Note I said 'try', as in, let's find out if this fixes the problem.

nVidia has said ever since this option could produce instability ever since it was introduced.  I've seen lots of problems with Firefox rendering with RenderAccel enabled in the past.  Disabling RenderAccel only disables acceleration of the RENDER extension.
Comment 15 Don Allen 2006-10-14 05:50:52 UTC
(In reply to comment #13)
> (In reply to comment #12)
> > From the log:
> > (**) NVIDIA(0): Enabling RENDER acceleration
> > 
> > Try adding
> > Option "RenderAccel" "false"
> > to your video card section.
> > 
> That's a HUGE hack. I think he'd rather have accelerated rendering than not
> having X crash after a one out of one million chance bug.
> 

And it's not one out of a million. I boot Gentoo on my Thinkpad G41 every morning and start(ed) Firefox (1.5.0.7) to begin reading email (gmail) and the news. Every second or third day, I saw this freeze. It's so disruptive that I've just switched to epiphany (I haven't been using it long enough to know if it, too, causes this problem). This is not a low-probability event.
Comment 16 Daniel Kaplun 2006-10-14 10:05:36 UTC
The only time this has happened to me was looking at the output on Firefox 1.5.
Comment 17 Lee Davis 2006-12-01 10:09:50 UTC
I'm seeing this as well, or something that looks like it, using Firefox 1.5.0.8, xorg 7.1, and nvidia-drivers 1.0.9629.
Comment 18 Chris Gianelloni (RETIRED) gentoo-dev 2006-12-05 09:40:02 UTC
Please check if this is resolved with the new 9631 drivers that I have just added to the tree.
Comment 19 Lee Davis 2006-12-28 00:47:09 UTC
Problem still exists with nvidia-drivers-1.0.9631 and mozilla-firefox-2.0.0.1.
Comment 20 Doug Goldstein (RETIRED) gentoo-dev 2007-07-12 17:01:02 UTC
signal 11 errors in drivers are very much a very specific system hardware issue. This issue is not something we at Gentoo are going to be able to magically fix. The issue is that the nvidia driver, which only ships in a binary format, is attempting to access memory address it should not be doing. Since this occurs during the rendering cycle of the card, it's fairly safe to assume it's accessing video card memory however at an incorrect location. This could be specific to the make and model of video card you have (i.e. they differed from the nVidia reference design and as such the memory position is available at a different address and the drivers don't take that into account), which is why in the Windows world you are always advises to use the drivers shipped by your video card manufacture. However, in Linux we can only use what nVidia ships since no manufacture ships their own driver. This being said, your only real recourse is to contact nVidia with specific make/model information and attempt to see if they can reproduce it. Other places to search for information are the nvidia forums for other users that have issues with the same make/model video card.

Now I know I'm blaming the video card a lot here, however a signal 11 isn't necessary a video card. It could be your processor, your motherboard, your RAM, your sound card all doing something wrong. A voltage could be off here or there. It's very specific and very localized to your system.

While several people have reported this issue, it is possible that it's specific issues in everyone's case is a hardware issue, it's also possible that it's a software issue inside nVidia's driver itself.

All in all, signal 11 issues are nearly impossible for developers to debug since they're typically hardware issues. The only fixes are to work around the hardware issue in software. However to do that full debugging backtraces need to be provided. Since the nVidia driver only ships in a binary format, you're really out of luck to have anyone outside of nVidia help debug the issue and provide a software work around.

For more information about signal 11 use Google and just type that in. Links such as these will explain it further.

http://www.bitwizard.nl/sig11/
http://www.google.com/search?hl=en&q=signal+11&btnG=Google+Search