[CentOS] SOLVED annoying firefox crash on nvidia

Wed Jun 9 13:01:37 UTC 2010
Paul Bijnens <Paul.Bijnens at xplanation.com>

A long time ago, there was thread about firefox randomly crashing.

http://www.mail-archive.com/centos@centos.org/msg50010.html

It turned out not only firefox, but random other X window applications as well.
Especially scrolling in firefox seemed to induce the error.

I'm now since almost 2 weeks up and running with the same firefox instance
and scrolling up/down, left/right, playing video's, viewing websites with
heavy javascripts whatever, and without any crash since.

I use the proprietary driver NVIDIA-Linux-x86_64-195.36.24-pkg2.run (the latest
last time I looked).

I believe the cullprit was to explicitly load some modules in the xorg.conf
file.  (It is probably the "extmod" module -- there is almost no real
documentation on what those modules actually do...)

While the nvidia driver installs, there is an utility that generates
the new xorg.conf file for you, having only one module "glx" loaded.
This seems to be source of the trouble.
Gnome seems to assume more functionality is available, and does not gracefully
recover when asking something that is not implemented in those extra modules.

Since adding some more modules, I have no more crashes:

     Section "Module"
         Load "dbe"
         Load "extmod"
         Load "type1"
         Load "freetype"
         Load "glx"
         Load "fbdevhw"
         Load "record"
     EndSection

And, as added benefit, or side effect, the memory usage of my gnome
applets has drastically gone down.
I used to see a simple clock-applet having using 800 Mbyte virtual memory or so
and having 400M reported under the "resident memory" column.
Other people also reported such a problem, but it was frequently dismissed
by explanations like "gnome uses a lot of shared memory it is not real
memory".
I now have my clock and other gnome applets running in under 300M virtual,
10-14M resident memory (if you ask me, still large for clock -- where is
the time when I ran a whole unix with 5 serial terminals and the server
had 1 Mbyte RAM total memory on a motorola 68010 processor?)


-- 
Paul Bijnens
***********************************************************************
* I think I've got the hang of it now:  exit, ^D, ^C, ^\, ^Z, ^Q, ^^, *
* quit, ZZ, :q, :q!, M-Z, ^X^C, logoff, logout, close, bye, /bye, ~., *
* stop, end, ^]c, +++ ATH, disconnect,  halt,  abort,  hangup,  KJOB, *
* ^X^X,  :D::D,  kill -9 1,  kill -1 $$,  shutdown,  init 0,  Alt-F4, *
* Alt-f-e, Ctrl-Alt-Del, Alt-SysRq-reisub, Stop-A, AltGr-NumLock, ... *
* ...  "Are you sure?"  ...   YES   ...   Phew ...   I'm out          *
***********************************************************************