[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Official Bug with Calling NewGWorld in MACL?



I'm working on calling the new QD32 Graphic World traps. I couldn't get
them to be called in MACL, and finally wrote a C file that ff-called them
to
get at them (I note that this problem is discussed in what I call below)).
Now I just noticed in a message you'all sent out some time ago a report
of a bug in calling NewGWorld from MACL on a MacIIci (ONLY??!!!, I have
an fx.).  Could the patch be sent to me or failing that at least the
message
that was sent to MacDTS (referred to below).
 
Many thanks,

   Lucian

HERE IS THE EARLIER MESSAGE WITH APPROPRIATE EXCERPTS (in bug report
section):

>From mcw Tue Dec 11 17:23:13 1990
Received: by titan.rice.edu (AA19567); Tue, 11 Dec 90 17:23:04 CST Date:
Tue, 11 Dec 90 17:23:04 CST
From: mcw (Michael Wirth)
Message-Id: <9012112323.AA19567@titan.rice.edu> To:
pwtc!cdj@labrea.stanford.edu
Subject: Re: My MACL code crashes under finder, runs ok under multifinder
Cc: D0966@applelink.apple.com, mcw
Status: R

Sounds like you may have run into a problem we encountered and patched this
last May. Are you saving and then restarting a dumplisp image, and also
using the foreign function interface? If so, then your image may crash
whenever you change the way memory is allocated by the system (e.g., by
changing from Finder to Multifinder or the reverse, changing your inits,
etc.) 

Here's a copy of the bug report, analysis and patch we submitted on
5/31/90:
----------------------------------------------------------------------------
BUG REPORT GQI #2 (Continued): Was "Bad grafPort pointer handling" Now
"CCL::FF-RESTORE-ENVS is deficient and causes MACL crashes"
================================================================= 

Thanks to Gary Byers for an earlier response. After a marathon debugging
session yesterday, I think we finally have the definitive word on what was
happening in and to our MACL 1.3.2 application: 

[skip report of ccl::ff-restore-envs bug]

2. There is a fatal bug in the 32-bit QuickDraw code in the Mac IIci ROM
which can cause bus errors (i.e., system crashes) with certain legal
combina- tions of arguments to the NewGWorld trap. This bug is described in
detail in a separate message to be sent to MacDTS and copied to you. 

3. The MACL interface for calling system traps is no longer sufficient now
that the 32-bit QD traps require a selector argument in register D0. We had
to write C glue routines to be able to call these traps. It would be nice
if the MACL trap call interface would be extended to handle these D0
selector calls directly.