Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 May 1999 01:16:49 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        denis@acacia.cts.ucla.edu (Denis DeLaRoca)
Cc:        questions@FreeBSD.ORG, mozilla@FreeBSD.ORG
Subject:   Re: Communicator 4.5: "Xlib: Unexpected async reply" msg flood!
Message-ID:  <199905030116.SAA16700@usr05.primenet.com>
In-Reply-To: <Pine.BSF.4.05.9904300225040.762-100000@acacia.cts.ucla.edu> from "Denis DeLaRoca" at Apr 30, 99 02:37:55 am

next in thread | previous in thread | raw e-mail | index | archive | help
> 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.
> 
> At some point, a popup appears with the following message,
> 
> 	Bookmarks have changed on disk.
> 	Discard your unsaved changes and reload
> 
> 		OK	CANCEL
> 
> Most of the time clicking on Ok or CANCEL allows one to continue
> normally... but at other times, 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.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.


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




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