[NCLUG] Netscape Instability

J. Paul Reed preed at sigkill.com
Mon Nov 20 22:42:22 MST 2000


On 20 Nov 2000 at 14:17:10, Evelyn Mitchell modified my mailspool to say:

> A relief of the symptoms can be found by turning off Java, but it
> will still once in a while do this. 

Yes.

Java support in Netscape 4.x sucks donkey balls. And even if it didn't
suck, it's something like the 1.1.5 JRE or some god awefully ancient thing.

> I've heard mozilla doesn't have this problem.

The difference is in their threading models.

Netscape 4.x (or rather, the Netscape Portable Runtime--NSPR) faked threads
in Linux by creating a bunch of 'lightweight' threads within one process,
and then switching between them. 

One NS engineer described it to me as a "circular choo-choo train" which
goes around to all of the "towns" (threads) and does what they need done
(update the screen, talk to the network, etc.). Unfortunately, because
they're aren't "real" threads, the train would sometimes get "derailed" and
stuck at one town or another...  Java was most often the culprit for
putting quarters on the train tracks.

Compare this to Mozilla's threading model which, on Linux, uses pthreads,
which are separate processes in their own rite which act as threads.
Mozilla actually has a 'watchdog' thread and I've seen in output from debug
builds "Removing stuck event from queue", so these problems with Mozilla
are at least mitigated somewhat.

It is interesting to note that Netscape on Solaris and Irix were a bit more
stable in this regard because both of those platforms supported "better"
threading models, and NSPR could make calls directly to those thread
libraries instead of trying to fake it, as they had to for HP-UX/AIX/Linux
and a host of others.

Later,
Paul
  -----------------------------------------------------------------------
  J. Paul Reed                 preed at sigkill.com || web.sigkill.com/preed
  We're living in a world that's blowing itself to hell as fast as every-
  one can arrange it.       -- First Sgt. Edward Welsh, The Thin Red Line



More information about the NCLUG mailing list