Skip site navigation (1)Skip section navigation (2)
Date:      14 Sep 1999 19:44:53 -0400
From:      Greg Stark <gsstark@mit.edu>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        mozilla@freebsd.org
Subject:   Re: Communicator 4.5: "Xlib: Unexpected async reply" msg flood!
Message-ID:  <87vh9df47e.fsf@mit.edu>
References:  199905030116.saa1670-@usr05.primenet.com

next in thread | raw e-mail | index | archive | help

I don't think this explanation really makes sense. Netscape doesn't actually
use the native threads, it uses some sort of user-space threads on all
platforms.

It is the right basic idea though, "Unexpected async reply" and the "sequence
lost" both have to do with either a multi-threaded program calling Xlib
functions from two threads or a signal handler calling Xlib functions.

Do you have further evidence about this involving freebsd native threads?

greg

> > I've seen this problem occur with both the FreeBSD version of Communicator
> > 4.5 in the packages collection as well as with Communicator 4.51 for Linux
> > under FreeBSD 3.1.
> > ...
> > Communicator starts looping and outputting messages to stderr that read
> > 
> >       Xlib: Unexpected async reply (sequence 0x####)
> 
> I believe the dialog box you refer to runs as JavaScript.
>   
> There are a number of problems with the FreeBSD implementation of
> Netscape.
>   
> The number one problem is that it is assuming that threads serially
> run to completion based on scheduling.
>  
> Basically, this means that if you get an involuntary context switch,
> the threads pick up where they left off, in the order that they
> left off.
>  
> The FreeBSD threads don't guarantee this (neither does POSIX), so 
> the serialization assumption is flawed.
>  
> For what it's worth, Linux and Macintosh threading have the same
> issues with the assumptions made by the NetScape JavaScript engine
> programmers.
> 
> The major problems most commonly surface in the builtins, like the
> bookmark change script, the mail client, and the GIF decoder.  The
> workaround for GIF's is to serialize the GIF loading (easy; just change
> your JavaScript) or to replace the GIF loader with a JNI to some
> reentrant code (not very easy, and not very portable; it'll only
> fix your personal browser).
> 
> Since the problem exists on other platforms (e.g. Macintosh), it's
> best to just let it do its thing and finish doing it, before you
> move the mouse pointer.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mozilla" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87vh9df47e.fsf>