[BUG] BitBlt crash

Helge Horch Helge.Horch at munich.netsurf.de
Sat Jan 29 23:27:54 UTC 2000


Folks,

I am having trouble diagnosing a hard crash. Happens both in 2.7 and 2.8a:
BitBlt, after failing due to non-integer parameters, corrects them and
proceeds to crash later.

Yes, I know one shouldn't pass non-integral Rectangles, but it just so
happened. (I had a Morph override >>extent: and left a stray "super extent:
h/2 @ h" in. ;-)

Here's the easiest way to reproduce it:

1.) add a RectangleMorph to a World and open an Inspector on it,
2.) in the Inspector, change its bounds' extent to, say, (100/3)
3.) summon restoreDisplay (BitBlt complains, and recommends to proceed)
4.) proceed from the PreDebugWindow

Repeat steps 3-4 until BitBlt gives up, and you get the error dump. Third
time should do it.

I examined BitBlt's self-healing code, and can't find any fault.

Can anyone else shed light on this? Or is this only bad karma on my machines?

Puzzled,
Helge

P.S. SqueakDebug.log follows:

29 January 2000 11:54:04 pm
Error: Error: Bad BitBlt arg (Fraction?); proceed to convert.
GrafPort(Object)>>error:
[] in PasteUpMorph>>displayWorldSafely
[] in BlockContext>>ifError:
Error(Exception)>>handlerAction
Error(Exception)>>signal
Error(Exception)>>signal:
GrafPort(Object)>>error:
GrafPort(BitBlt)>>copyBits
GrafPort>>copyBits
GrafPort>>fillRect:color:offset:
FormCanvas>>frameAndFillRectangle:fillColor:borderWidth:borderColor:
RectangleMorph(Morph)>>drawErrorOn:
RectangleMorph(Morph)>>fullDrawOn:
RectangleMorph(BorderedMorph)>>fullDrawOn:
[] in PasteUpMorph>>drawInvalidAreasOn:
Array(SequenceableCollection)>>do:
PasteUpMorph>>drawInvalidAreasOn:
PasteUpMorph>>displayWorld
[] in PasteUpMorph>>displayWorldSafely
BlockContext>>on:do:
BlockContext>>ifError:
PasteUpMorph>>displayWorldSafely
PasteUpMorph>>doOneCycleNow
PasteUpMorph>>doOneCycle
[] in Project>>spawnNewProcess
[] in BlockContext>>newProcess





More information about the Squeak-dev mailing list