Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!lll-lcc!styx!ames!ucbcad!ucbvax!decvax!mcnc!unc!rentsch
From: rentsch@unc.UUCP (Tim Rentsch)
Newsgroups: comp.lang.smalltalk
Subject: Catatonia cure
Message-ID: <453@unc.unc.UUCP>
Date: Sun, 21-Dec-86 04:06:01 EST
Article-I.D.: unc.453
Posted: Sun Dec 21 04:06:01 1986
Date-Received: Sun, 21-Dec-86 20:36:39 EST
Reply-To: rentsch@unc.UUCP (Tim Rentsch)
Organization: CS Dept, U. of N. Carolina, Chapel Hill
Lines: 47


This is my promised follow-up posting on 'curing' catatonia by an
adb patch to the unix kernel.  

First, the news.  The cure works great!  The test was done on
several suns, and done without modifying the configuration *except*
to install the patch.  The results:

	(1) longer runs of a large application, and greater user
	confidence in the solidity of the interpreter

	(2) hours of running on one particularly problematic sun,
	with no crashes (not conclusive, but much better than past
	performance)

	(3) when moving the mouse continuously during a save, things
	work fine.  This is significant because without the patch
	installed, this *repeatably* causes problems (unrepeatably
	it causes crashes, but even when there is no crash there are
	problems with queue overflow).  After the patch is
	installed, this repeatable symptom disappears.

Minor side note:  although Smalltalk was causing crashes, some
symptoms I reported after a crash may have been caused by a bad CPU
board.  You can decide for yourself what this means, I just wanted
to set the record straight.  This really is just a side issue, since
(1) Smalltalk definitely was causing crashes, and (2) those crashes
have stopped happening since we installed the patch that fixes the
sun window system bug.

And, for those intrepid folks who would like to try kernel stomping
for themselves, here is the patch:

    There was a 3.0 kernel deadlock bug that may be the cause.  The
    fix was to set the kernel variable ws_set_favor to zero.  

	% adb -w /vmunix
	  ws_set_favor?W 0
	  ^D
	% /etc/reboot.


That's all.

cheers,

txr