On Wed, Apr 08, 2015 at 05:33:20PM +0200, Nicolai Hess wrote:
In order to reproduce it, draw a rectangle with radial gradient fill, with direction and normal, both of length 1.
This one works (no vm crash): |form canvas fill direction normal| direction := 1@0. normal := 0@0. form := Form extent:300@300 depth:32. canvas := form getCanvas. fill := GradientFillStyle new colorRamp:{0 -> Color white . 0.5 -> Color green . 1 -> Color blue};origin:150@150 ;direction:direction;normal:normal;radial:true;yourself. canvas fillRectangle: (50@50 extent:200@200) fillStyle: fill. Display getCanvas drawImage: form at: 300@300.
direction := 1@0. normal := 0@0. -> OK
direction := 0@0. normal := 0@1. -> OK
direction := 1@0. normal := 0@1. -> VM-Crash (Pharo and Squeak)
The VM crash is happening in primitiveRenderScanline in B2DPlugin, called from BalloonEngine>>primRenderScanline:with: This probably indicates that a bounds check needs to be added to the primitive, although I expect that there also is something in the image that is allowing the primitive to be called with unreasonable parameters. Dave