and i was dealing with it by adding 1 extra line to cairo surface, but reporting 1 less to Form. Like so, bitblt still reads past the allowed size, but it is safe, because there are unused bit(s).
On 27 February 2017 at 20:31, Igor Stasenko <siguc...@gmail.com> wrote: > > > On 27 February 2017 at 12:29, Esteban Lorenzano <esteba...@gmail.com> > wrote: > >> Hi, >> >> the problem wit Ronie’s fix is that (as he says) you are copying another >> time the surface, before passing it to the VM (who makes yet-another-copy) >> so this is not optimal… and you can see it when running the Tiger demo: >> there are a lot of pauses. >> So I would prefer the other approach he suggests: >> >> Form subclass: #AthensCairoSurfaceForm >> instanceVariableNames: 'surface' >> classVariableNames: '' >> package: 'Athens-Cairo' >> >> AthensCairoSurfaceForm>>surface >> ^ surface >> >> AthensCairoSurfaceForm>>surface: anObject >> surface := anObject >> >> AthensCairoSurface>>asForm >> "create a form and copy an image data there" >> self checkSession. >> self flush. >> ^ (AthensCairoSurfaceForm extent: (self width@self height) >> depth: 32 bits: id) >> surface: self; >> yourself >> >> that seems to work. Can you try and see? >> >> > Btw, remember the culprit there , that you must have extra word in > trailing buffer space, > this is because bit-blt using read-ahead . Which is OK for objects located > in object memory, > since there are always something past the last object (unallocated space), > but not so ok for buffers allocated by malloc (such as cairo surface > bitmap), and so, > if you read even a single byte past it, you get protection fault. > > >> Esteban >> >> > On 24 Feb 2017, at 15:47, stepharong <stephar...@free.fr> wrote: >> > >> > Hi alex >> > >> > can you try the fix of ronie and let us know if it makes roassal more >> stable? >> > >> > Stef >> > >> >> Dear Alexander, >> >> >> >> Sine the new FFI of Pharo, using Athens has become unreliable. This is >> a pity, but fixing this is not trivial at all (we have been trying for >> years). >> >> >> >> What exactly are you doing with Athens? >> >> >> >> Alexandre >> >> >> >> >> >>> On Feb 22, 2017, at 12:55 AM, Alexander Samoylovich < >> samoylov...@gmail.com> wrote: >> >>> >> >>> Hello >> >>> >> >>> I am writing graphic demo programs using Athens on Mac Sierra. >> >>> Time by time Pharo VM crashes. Programs not using Athens work >> reliably. >> >>> I believe the behavior is reproducible. >> >>> How should I report a bug? >> >>> >> >>> Alex >> >> >> > >> > >> > -- >> > Using Opera's mail client: http://www.opera.com/mail/ >> > >> >> >> > > > -- > Best regards, > Igor Stasenko. > -- Best regards, Igor Stasenko.