[comp.dcom.lans] TOPS Spool and MultiFinder: a Heisenbug

dplatt@coherent.uucp (Dave Platt) (01/15/88)

I've encountered a marvelous Heisenbug (a bug whose behavior changes when
you look for it) involving TOPS Spool and MultiFinder... it's an
interesting interaction between these two products that Mac users should
be aware of, lest they become as frustrated as I did.

Yesterday, I installed MultiFinder on one of the Mac SE systems here at
work (we have 11 of them on a PhoneNet, with a single LaserWriter Plus
and a Kinetics bridge to our Sun Ethernet).  I did not run the LaserWriter
5.0 installation script, because I had heard [correctly] that TOPS Spool
is not compatible with the 5.0 driver/prep files.

After rebooting, I found that TOPS Spool worked fine when the system
was booted in Finder mode, but behaved erratically when the system was
booted in MultiFinder mode.  The primary symptom I saw was that TOPS
Spool would spool the file to disk, but would not print it.  The status
display would indicated "Waiting;  source: AppleTalk", and the printer's
yellow status light would double-blink (indicating that the printer was
waiting for data to be sent over AppleTalk).  Sometimes files would print
OK;  sometimes the spooler would send none of the file;  sometimes the
spooler would send a varying percentage of the file (up to 100%) and
then hang without terminating the PAP connection, causing the printer to
time out after several minutes.  I tried spooling one file several times,
and the copies seemed to exhibit different behavior.

I tried deinstalling and reinstalling TOPS Spool, reinstalling virgin
LaserWriter and Laser Prep files from the System 4.1 tools disk,
reinitializing the printer, isolating the printer and Mac from the
rest of the PhoneNet, and quite a few other things.  Behavior was still
erratic.

Finally, I noticed one critical clue:  if I had turned "Print while I
work" off, and then opened the TOPS Spool d/a and turned it back on,
the spooler would not begin transmitting the file until I closed the
desk accessory.  Printing would then begin, and would continue to work
properly until I opened the desk accessory again... at which point
the current print job would hang!

So... hmmm... using the TOPS Spool desk accessory under MultiFinder
causes the background printing task to stop working, but using exactly
the same desk accessory, System, drivers, etc. works just fine if the
system is booted under the Finder.  What's the difference?  Well, under
MultiFinder, desk accessories are normally opened by a mini-application
called DA Handler, so that they won't go away if you "Quit" from your
current application.  I tried opening TOPS Spool while holding down the
Option key, which forces the desk accessory to run in the current
application's context... and, lo and behold, background printing kept
working!  Apparently, the TOPS Spool desk accessory interferes with the
background-printing task if it's run under DA Handler, but not if it's
run under the current application (Finder, in my case).

Summary: if you're running TOPS Spool under MultiFinder, and want to use
the TOPS Spool desk accessory, you should hold down the Option key when
opening the d/a;  if you don't, you'll temporarily hang the printing
task.

I've reported this problem to TOPS tech support... it's apparently the
first time they'd heard of it.


-- 

Dave Platt
  UUCP:	...!{ames,sun,uunet}!coherent!dplatt
  Internet: coherent!dplatt@ames.arpa, ...@sun.com, ...@uunet.uu.net