[crash] Squeak crash on MasOS 10.3 (panther)

John M McIntosh johnmci at smalltalkconsulting.com
Sat Nov 1 06:58:26 UTC 2003


"HAYASHI, Tetsuya" <tetha at st.rim.or.jp> was kind enough to forward an  
interesting crash dump and a solution which ties
to  
http://developer.apple.com/documentation/Performance/Conceptual/ 
Drawing/Tasks/QuickDrawPerformance.html#//apple_ref/doc/uid/20001878/ 
CJBJFIDD

If someone has 10.3 handy and is building VM's then I would suggest  
they alter some lines in
sqMacWindow.c  routine ioShowDisplay() to read

	/* create a mask region so that only the affected rectangle is copied  
*/
	SetRectRgn(maskRect, affectedL, affectedT, affectedR, affectedB);
         windowPort = GetWindowPort(stWindow);
	LockPortBits(windowPort);

	SetPort((GrafPtr) windowPort);
	CopyBits((BitMap *) *stPixMap, GetPortBitMapForCopyBits(windowPort),  
&srcRect, &dstRect, srcCopy, maskRect);

#if TARGET_API_MAC_CARBON
/* Note I did attempt to use the logic of getting the port's update  
region
    then adding in the mask region, then setting the port region, versus  
this flush
    that shaves say 2 seconds off the FreeCell game 1 benchmark. However  
the video
    updating becomes jerky versus smooth, so the trade off isn't good. */

	QDFlushPortBuffer (windowPort, maskRect);
#endif
UnlockPortBits();

and let us know if this fixes things. Tetsuya also had a LockPixels()  
call but I am not sure if this is required. Also his unlockPortBits()  
was
before the QDFlushPortBuffer() but based on some other dumps I have  
received I suspect the flush needs to be locked too.

On Friday, October 31, 2003, at 10:16 PM, John M McIntosh wrote:

>
> On Friday, October 31, 2003, at 12:08 PM, Raymond wrote:
>
>> John wrote :
>>> AAAAAAAHHH
>>
>> Hi John...you seem ''agréablement surpris'  or may be I interpret too  
>> much your
>> AAAAAAAHH....
>
>> Well,  I need time again before conclusion, but :) may be it was a  
>> rights access problem....
>>
>> not sure yet.
>
> I've collected a few more independently submitted reports, and Ian and  
> I setup a fresh 10.3 machine today at viewpoints and watched it crash,  
> so I know it's broken.
>
> *All* Squeak Mac users should use the submit a bug report button to  
> apple if they converted to 10.3 *hint* *hint*. So we can generate some  
> interest from Apple support staff. I'm assuming since there has been  
> no code changes in this Squeak VM  routine since os-x 10.0.0 beta then  
> it's likely not my bug.
>
> What we do know know is the unix VM seems to work. So for folks that  
> have converted and don't want to convert back I'll suggest hunting up  
> the latest Unix mac-quartz VM and use that until either Apple does a  
> patch, or I find a work-around.
--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===




More information about the Squeak-dev mailing list