Too frequent crashes :-(

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
25 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Too frequent crashes :-(

abergel
Hi!

Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.

I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
I use the latest VM.

Cheers,
Alexandre






--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




crash.dmp (54K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

Aliaksei Syrel
According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
Try to round it to integer point.

Cheers,
Alex

On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
Hi!

Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.

I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
I use the latest VM.

Cheers,
Alexandre






--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev


Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

abergel
Okay, trying…

Alexandre


> On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
>
> According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
> Try to round it to integer point.
>
> Cheers,
> Alex
>
> On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
> Hi!
>
> Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
>
> I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> I use the latest VM.
>
> Cheers,
> Alexandre
>
>
>
>
>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: Too frequent crashes :-(

stepharong
In reply to this post by abergel
Which vm exactly?
On which os?
Which version of Pharo?

Such report are totally useless without any precise information. The proof  
is that I do not get any crash recently
with Pharo.
I will let you guess my os, image version and vm version because this is  
too much fun.

Stef


> Hi!
>
> Vincent and I are experiencing many crashes from GrafPort>copyBits. It  
> crashes every couple of minutes.
>
> I know that not much can be done so far. Stability is my biggest concern  
> with Pharo :-(
> I use the latest VM.
>
> Cheers,
> Alexandre
>
>


--
Using Opera's mail client: http://www.opera.com/mail/

Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: Too frequent crashes :-(

Peter Uhnak
In reply to this post by abergel
Hi Alex,

I certainly understand your frustration, I felt it too on Windows to the point where I stopped using Pharo for couple of weeks out of rage, and then spend in total at least 40+ hours digging into the VM until I added usable workaround for Windows. Not to mention how frustrating was the fixing it.

Obviously on Mac there are still some unresolved pathways, but it will not magically fix itself.

The reason for the crash (bad object pinning and moving of canvas memory) has been known for some time now, so more crash.dmps do not give any more insight.

If this is to be resolved then one of the two have to happen:

A) Someone who really understands VM/image memory management / GC / pinning fixes the issue.

B) Someone with Mac (which I don't have) digs around BitBlt code (or wherever it was) and adds a similar workaround.

Considering the issue has emerged more than a year ago (Spur switch), I don't think (A) is going to happen any time soon, so I guess the only chance is to get elbows greasy and fix it yourself (B) (or you make one of your students suffer :)).

I didn't have a single Roassal/BitBlt related crash on Windows since my fix was added, so there should be a way to add a workaround for Mac too.

(there are of course crashes related to FT, but the story is arguably the same).

TL;DR: I don't think it's on a todo list of anyone who actually understands this, so the only way to fix it is by yourself or find a concrete person that would be willing to dig into it.

Peter

Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: Too frequent crashes :-(

Peter Uhnak
On Mon, Dec 19, 2016 at 08:12:29AM +0800, Ben Coman wrote:
> Can yo point to where you added you workaround?

The fix is a single line, because I hate myself.

interpreterProxy failed ifTrue:[^nil].

https://github.com/pharo-project/pharo-vm/commit/9bf66cf656b176d988e1b0ba74fc37da467e6192

To give you more info:

The problem is that memory of canvas forms are not properly pinned, so during garbage collection the form is being moved, but if at the same time the canvas form is being updated and moved, you are accessing wrong memory -> crash.

My fix will return prematurely if an error occurs and throws PrimitiveFailed in the image before any wrong memory is accessed. On Roassal side the PrimitiveFailed is catched and a paint cycle is skipped --- this is good enough, as it results only in ocassional flicker that immediately fixes itself instead of crashing the image.

It seems that on Mac there are also other places in the BitBlt code where the surface is being accessed without a check.

Also be careful not to be misled by the crash dump stack. It took me quite a while to figure out that GrafPort is already operating on wrong data, so it's not GrafPort's fault, but BitBlt's; of course both should possibly be investigated with respect to the mac crash.

Final note, personally I found it much easier the debug and manipulate the resulting C code (and recompiling just that), then to modify the Slang code and rebuild the source code and recompile it all (but again, I don't know what is the proper way to work with the VM code).

I used this script to trigger the crash https://gist.github.com/peteruhnak/024650ed2594301558df4da913549b54
As the crash depends on memory consumption and "proper" garbage collection cycle, it wasn't the easiest to reproduce, however the script above usually managed to crash it. Having a more reliable way would be nice, but simply triggering GC (nor full GC) wasn't enough because the memory wasn't in the "right" state.

Peter

Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: Too frequent crashes :-(

Stephane Ducasse-3
Hi peter

I can understand your frustration. I would be really like to see what I can do to help. 
But I do not know. Except showing your mail to the vm guys. 
Thanks for having send it!


Stef


On Mon, Dec 19, 2016 at 2:03 PM, Peter Uhnak <[hidden email]> wrote:
On Mon, Dec 19, 2016 at 08:12:29AM +0800, Ben Coman wrote:
> Can yo point to where you added you workaround?

The fix is a single line, because I hate myself.

interpreterProxy failed ifTrue:[^nil].

https://github.com/pharo-project/pharo-vm/commit/9bf66cf656b176d988e1b0ba74fc37da467e6192

To give you more info:

The problem is that memory of canvas forms are not properly pinned, so during garbage collection the form is being moved, but if at the same time the canvas form is being updated and moved, you are accessing wrong memory -> crash.

My fix will return prematurely if an error occurs and throws PrimitiveFailed in the image before any wrong memory is accessed. On Roassal side the PrimitiveFailed is catched and a paint cycle is skipped --- this is good enough, as it results only in ocassional flicker that immediately fixes itself instead of crashing the image.

It seems that on Mac there are also other places in the BitBlt code where the surface is being accessed without a check.

Also be careful not to be misled by the crash dump stack. It took me quite a while to figure out that GrafPort is already operating on wrong data, so it's not GrafPort's fault, but BitBlt's; of course both should possibly be investigated with respect to the mac crash.

Final note, personally I found it much easier the debug and manipulate the resulting C code (and recompiling just that), then to modify the Slang code and rebuild the source code and recompile it all (but again, I don't know what is the proper way to work with the VM code).

I used this script to trigger the crash https://gist.github.com/peteruhnak/024650ed2594301558df4da913549b54
As the crash depends on memory consumption and "proper" garbage collection cycle, it wasn't the easiest to reproduce, however the script above usually managed to crash it. Having a more reliable way would be nice, but simply triggering GC (nor full GC) wasn't enough because the memory wasn't in the "right" state.

Peter


Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

Stephane Ducasse-3
In reply to this post by abergel
so did it work?
Is there something that we should do?

On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <[hidden email]> wrote:
Okay, trying…

Alexandre


> On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
>
> According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
> Try to round it to integer point.
>
> Cheers,
> Alex
>
> On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
> Hi!
>
> Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
>
> I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> I use the latest VM.
>
> Cheers,
> Alexandre
>
>
>
>
>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

Henrik Nergaard-2

Using floats should not be a problem as BitBlt will round these to integers:

 

| canvas image |

 

canvas := FormCanvas extent: 100.1@100.2.

canvas fillColor: Color gray.

image := Smalltalk ui icons iconNamed: #error.

canvas image: image at: 2.5@3.9 sourceRect: (1.2@5.3 extent: 42.1@43.4) rule: 34.

 

canvas form inspect.

 

 

Best regards,

Henrik

 

From: Pharo-dev [mailto:[hidden email]] On Behalf Of Stephane Ducasse
Sent: Monday, December 19, 2016 10:09 PM
To: Pharo Development List <[hidden email]>
Subject: Re: [Pharo-dev] [Moose-dev] Too frequent crashes :-(

 

so did it work?

Is there something that we should do?

 

On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <[hidden email]> wrote:

Okay, trying…

Alexandre



> On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
>
> According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
> Try to round it to integer point.
>
> Cheers,
> Alex
>
> On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
> Hi!
>
> Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
>
> I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> I use the latest VM.
>
> Cheers,
> Alexandre
>
>
>
>
>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



 

Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: Too frequent crashes :-(

abergel
In reply to this post by Peter Uhnak
Thanks Peter for your email.

Alexandre


> On Dec 18, 2016, at 10:10 PM, Peter Uhnak <[hidden email]> wrote:
>
> Hi Alex,
>
> I certainly understand your frustration, I felt it too on Windows to the point where I stopped using Pharo for couple of weeks out of rage, and then spend in total at least 40+ hours digging into the VM until I added usable workaround for Windows. Not to mention how frustrating was the fixing it.
>
> Obviously on Mac there are still some unresolved pathways, but it will not magically fix itself.
>
> The reason for the crash (bad object pinning and moving of canvas memory) has been known for some time now, so more crash.dmps do not give any more insight.
>
> If this is to be resolved then one of the two have to happen:
>
> A) Someone who really understands VM/image memory management / GC / pinning fixes the issue.
>
> B) Someone with Mac (which I don't have) digs around BitBlt code (or wherever it was) and adds a similar workaround.
>
> Considering the issue has emerged more than a year ago (Spur switch), I don't think (A) is going to happen any time soon, so I guess the only chance is to get elbows greasy and fix it yourself (B) (or you make one of your students suffer :)).
>
> I didn't have a single Roassal/BitBlt related crash on Windows since my fix was added, so there should be a way to add a workaround for Mac too.
>
> (there are of course crashes related to FT, but the story is arguably the same).
>
> TL;DR: I don't think it's on a todo list of anyone who actually understands this, so the only way to fix it is by yourself or find a concrete person that would be willing to dig into it.
>
> Peter
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

abergel
In reply to this post by Peter Uhnak
Wow! Wonderful experience report!

Alexandre


> On Dec 19, 2016, at 2:03 PM, Peter Uhnak <[hidden email]> wrote:
>
> On Mon, Dec 19, 2016 at 08:12:29AM +0800, Ben Coman wrote:
>> Can yo point to where you added you workaround?
>
> The fix is a single line, because I hate myself.
>
> interpreterProxy failed ifTrue:[^nil].
>
> https://github.com/pharo-project/pharo-vm/commit/9bf66cf656b176d988e1b0ba74fc37da467e6192
>
> To give you more info:
>
> The problem is that memory of canvas forms are not properly pinned, so during garbage collection the form is being moved, but if at the same time the canvas form is being updated and moved, you are accessing wrong memory -> crash.
>
> My fix will return prematurely if an error occurs and throws PrimitiveFailed in the image before any wrong memory is accessed. On Roassal side the PrimitiveFailed is catched and a paint cycle is skipped --- this is good enough, as it results only in ocassional flicker that immediately fixes itself instead of crashing the image.
>
> It seems that on Mac there are also other places in the BitBlt code where the surface is being accessed without a check.
>
> Also be careful not to be misled by the crash dump stack. It took me quite a while to figure out that GrafPort is already operating on wrong data, so it's not GrafPort's fault, but BitBlt's; of course both should possibly be investigated with respect to the mac crash.
>
> Final note, personally I found it much easier the debug and manipulate the resulting C code (and recompiling just that), then to modify the Slang code and rebuild the source code and recompile it all (but again, I don't know what is the proper way to work with the VM code).
>
> I used this script to trigger the crash https://gist.github.com/peteruhnak/024650ed2594301558df4da913549b54
> As the crash depends on memory consumption and "proper" garbage collection cycle, it wasn't the easiest to reproduce, however the script above usually managed to crash it. Having a more reliable way would be nice, but simply triggering GC (nor full GC) wasn't enough because the memory wasn't in the "right" state.
>
> Peter
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

abergel
In reply to this post by Stephane Ducasse-3
> so did it work?
> Is there something that we should do?

I had no problem, but as Henrik and Peter said, the problem is likely to be more complex

Alexandre


>
> On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <[hidden email]> wrote:
> Okay, trying…
>
> Alexandre
>
>
> > On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
> >
> > According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
> > Try to round it to integer point.
> >
> > Cheers,
> > Alex
> >
> > On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
> > Hi!
> >
> > Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
> >
> > I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> > I use the latest VM.
> >
> > Cheers,
> > Alexandre
> >
> >
> >
> >
> >
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel  http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> > _______________________________________________
> > Moose-dev mailing list
> > [hidden email]
> > https://www.list.inf.unibe.ch/listinfo/moose-dev
> >
> >
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

Stephane Ducasse-3
So what was your crash problem?


On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <[hidden email]> wrote:
> so did it work?
> Is there something that we should do?

I had no problem, but as Henrik and Peter said, the problem is likely to be more complex

Alexandre


>
> On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <[hidden email]> wrote:
> Okay, trying…
>
> Alexandre
>
>
> > On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
> >
> > According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
> > Try to round it to integer point.
> >
> > Cheers,
> > Alex
> >
> > On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
> > Hi!
> >
> > Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
> >
> > I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> > I use the latest VM.
> >
> > Cheers,
> > Alexandre
> >
> >
> >
> >
> >
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel  http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> > _______________________________________________
> > Moose-dev mailing list
> > [hidden email]
> > https://www.list.inf.unibe.ch/listinfo/moose-dev
> >
> >
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

philippeback
Clement told me that a number of these crashes have been solved eons ago in the opensmalltalkvm and that we are lagging behind with the integration of these things.

I am a clueless n00b on what this was about, so, what is the exact status?
I possibly face the same kind of issues in other areas and have been using a Windows VM with StrikeFonts to have it stable.

Phil




On Tue, Dec 20, 2016 at 9:12 AM, Stephane Ducasse <[hidden email]> wrote:
So what was your crash problem?


On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <[hidden email]> wrote:
> so did it work?
> Is there something that we should do?

I had no problem, but as Henrik and Peter said, the problem is likely to be more complex

Alexandre


>
> On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <[hidden email]> wrote:
> Okay, trying…
>
> Alexandre
>
>
> > On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
> >
> > According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
> > Try to round it to integer point.
> >
> > Cheers,
> > Alex
> >
> > On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
> > Hi!
> >
> > Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
> >
> > I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> > I use the latest VM.
> >
> > Cheers,
> > Alexandre
> >
> >
> >
> >
> >
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel  http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> > _______________________________________________
> > Moose-dev mailing list
> > [hidden email]
> > https://www.list.inf.unibe.ch/listinfo/moose-dev
> >
> >
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

Peter Uhnak
FreeType crashes are different, and I do experience them ocassionally (unlike Roassal ones), but they should be discussed in another thread.

Peter


On Tue, Dec 20, 2016 at 12:46:30PM +0100, [hidden email] wrote:

> Clement told me that a number of these crashes have been solved eons ago in
> the opensmalltalkvm and that we are lagging behind with the integration of
> these things.
>
> I am a clueless n00b on what this was about, so, what is the exact status?
> I possibly face the same kind of issues in other areas and have been using
> a Windows VM with StrikeFonts to have it stable.
>
> Phil
>
>
>
>
> On Tue, Dec 20, 2016 at 9:12 AM, Stephane Ducasse <[hidden email]>
> wrote:
>
> > So what was your crash problem?
> >
> >
> > On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <[hidden email]
> > > wrote:
> >
> >> > so did it work?
> >> > Is there something that we should do?
> >>
> >> I had no problem, but as Henrik and Peter said, the problem is likely to
> >> be more complex
> >>
> >> Alexandre
> >>
> >>
> >> >
> >> > On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <
> >> [hidden email]> wrote:
> >> > Okay, trying…
> >> >
> >> > Alexandre
> >> >
> >> >
> >> > > On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]>
> >> wrote:
> >> > >
> >> > > According to crash.dmp TRMorph>drawOn: draws an image using
> >> FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a
> >> Float point.
> >> > > Try to round it to integer point.
> >> > >
> >> > > Cheers,
> >> > > Alex
> >> > >
> >> > > On 16 December 2016 at 16:34, Alexandre Bergel <
> >> [hidden email]> wrote:
> >> > > Hi!
> >> > >
> >> > > Vincent and I are experiencing many crashes from GrafPort>copyBits.
> >> It crashes every couple of minutes.
> >> > >
> >> > > I know that not much can be done so far. Stability is my biggest
> >> concern with Pharo :-(
> >> > > I use the latest VM.
> >> > >
> >> > > Cheers,
> >> > > Alexandre
> >> > >
> >> > >
> >> > >
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> >> > > Alexandre Bergel  http://www.bergel.eu
> >> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >> > >
> >> > >
> >> > >
> >> > >
> >> > > _______________________________________________
> >> > > Moose-dev mailing list
> >> > > [hidden email]
> >> > > https://www.list.inf.unibe.ch/listinfo/moose-dev
> >> > >
> >> > >
> >> >
> >> > --
> >> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> >> > Alexandre Bergel  http://www.bergel.eu
> >> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >> >
> >> >
> >> >
> >> >
> >> >
> >>
> >> --
> >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> >> Alexandre Bergel  http://www.bergel.eu
> >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >>
> >>
> >>
> >>
> >>
> >

Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

abergel
In reply to this post by Stephane Ducasse-3
I had plenty of elements in my Roassal visualization, and on some point it just crashed.
I have the impression that having many elements and / or animations (as in the case of Johan Fabry) triggers the crash.

Alexandre


> On Dec 20, 2016, at 9:12 AM, Stephane Ducasse <[hidden email]> wrote:
>
> So what was your crash problem?
>
>
> On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <[hidden email]> wrote:
> > so did it work?
> > Is there something that we should do?
>
> I had no problem, but as Henrik and Peter said, the problem is likely to be more complex
>
> Alexandre
>
>
> >
> > On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <[hidden email]> wrote:
> > Okay, trying…
> >
> > Alexandre
> >
> >
> > > On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
> > >
> > > According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
> > > Try to round it to integer point.
> > >
> > > Cheers,
> > > Alex
> > >
> > > On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
> > > Hi!
> > >
> > > Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
> > >
> > > I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> > > I use the latest VM.
> > >
> > > Cheers,
> > > Alexandre
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > Alexandre Bergel  http://www.bergel.eu
> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Moose-dev mailing list
> > > [hidden email]
> > > https://www.list.inf.unibe.ch/listinfo/moose-dev
> > >
> > >
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel  http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> >
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

abergel
In reply to this post by abergel
Just to make clear, I am using the latest VM on Mac OS X, El capitan, latest Pharo.
The crashes I experienced are not new. My original email was not a complain (even if it may be perceived as one), but more to trigger a discussion. Peter did an excellent report of the current state of this issue.

Cheers,
Alexandre


> On Dec 16, 2016, at 4:34 PM, Alexandre Bergel <[hidden email]> wrote:
>
> Hi!
>
> Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
>
> I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> I use the latest VM.
>
> Cheers,
> Alexandre
>
>
> <crash.dmp>
>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

Nicolai Hess-3-2
In reply to this post by abergel


Am 21.12.2016 8:10 vorm. schrieb "Alexandre Bergel" <[hidden email]>:
I had plenty of elements in my Roassal visualization, and on some point it just crashed.
I have the impression that having many elements and / or animations (as in the case of Johan Fabry) triggers the crash.


One problem, the one peter (partly) fixed, is n issue with bitblt, Cairo (as a surface plugin) and garbage collection.
Bitblt my call the surface plugin to request some information about the Form.
NB-based ffi for Cairo just called gen. asm code. But with UFFI, we now callback to Smalltalk code, which may trigger a GC.
So every time bitblt, makes a call to the surface plugin (Cairo) and this callback allocates a new ST-Object, the GC may run and moves(!)the objects, to which bitblt still holds a reference.
Accessing this objects in bitblt, after the callback returns (may) result in a segfault.
Depending on the concrete bltoperation, the object memory layout, the size(!) of the initial Cairo surface. 
With peters fix/hack, the code does not crash but it still may access and operates on moved objects.
Pining the objects may help, but you need to know where in the (vm image) code a form is used for drawing, and if it is a real form or external data managed by the surface plugin.
And of course, when to "unpin" the object.

A saver way would be, to just disable any GC during the executing of the callback, if it was called by a plugin (here:bitblt)



Alexandre


> On Dec 20, 2016, at 9:12 AM, Stephane Ducasse <[hidden email]> wrote:
>
> So what was your crash problem?
>
>
> On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <[hidden email]> wrote:
> > so did it work?
> > Is there something that we should do?
>
> I had no problem, but as Henrik and Peter said, the problem is likely to be more complex
>
> Alexandre
>
>
> >
> > On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <[hidden email]> wrote:
> > Okay, trying…
> >
> > Alexandre
> >
> >
> > > On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
> > >
> > > According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
> > > Try to round it to integer point.
> > >
> > > Cheers,
> > > Alex
> > >
> > > On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
> > > Hi!
> > >
> > > Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
> > >
> > > I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> > > I use the latest VM.
> > >
> > > Cheers,
> > > Alexandre
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > Alexandre Bergel  http://www.bergel.eu
> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Moose-dev mailing list
> > > [hidden email]
> > > https://www.list.inf.unibe.ch/listinfo/moose-dev
> > >
> > >
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel  http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> >
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

Tudor Girba-2
Hi Nicolai,

Thanks for the explanation!

Peter said that his fix works for Windows. Why would this fix only work for Windows? And what can we do for other platforms?

Cheers,
Doru


> On Dec 21, 2016, at 8:48 AM, Nicolai Hess <[hidden email]> wrote:
>
>
>
> Am 21.12.2016 8:10 vorm. schrieb "Alexandre Bergel" <[hidden email]>:
> I had plenty of elements in my Roassal visualization, and on some point it just crashed.
> I have the impression that having many elements and / or animations (as in the case of Johan Fabry) triggers the crash.
>
>
> One problem, the one peter (partly) fixed, is n issue with bitblt, Cairo (as a surface plugin) and garbage collection.
> Bitblt my call the surface plugin to request some information about the Form.
> NB-based ffi for Cairo just called gen. asm code. But with UFFI, we now callback to Smalltalk code, which may trigger a GC.
> So every time bitblt, makes a call to the surface plugin (Cairo) and this callback allocates a new ST-Object, the GC may run and moves(!)the objects, to which bitblt still holds a reference.
> Accessing this objects in bitblt, after the callback returns (may) result in a segfault.
> Depending on the concrete bltoperation, the object memory layout, the size(!) of the initial Cairo surface.
> With peters fix/hack, the code does not crash but it still may access and operates on moved objects.
> Pining the objects may help, but you need to know where in the (vm image) code a form is used for drawing, and if it is a real form or external data managed by the surface plugin.
> And of course, when to "unpin" the object.
>
> A saver way would be, to just disable any GC during the executing of the callback, if it was called by a plugin (here:bitblt)
>
>
>
> Alexandre
>
>
> > On Dec 20, 2016, at 9:12 AM, Stephane Ducasse <[hidden email]> wrote:
> >
> > So what was your crash problem?
> >
> >
> > On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <[hidden email]> wrote:
> > > so did it work?
> > > Is there something that we should do?
> >
> > I had no problem, but as Henrik and Peter said, the problem is likely to be more complex
> >
> > Alexandre
> >
> >
> > >
> > > On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <[hidden email]> wrote:
> > > Okay, trying…
> > >
> > > Alexandre
> > >
> > >
> > > > On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
> > > >
> > > > According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
> > > > Try to round it to integer point.
> > > >
> > > > Cheers,
> > > > Alex
> > > >
> > > > On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
> > > > Hi!
> > > >
> > > > Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
> > > >
> > > > I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
> > > > I use the latest VM.
> > > >
> > > > Cheers,
> > > > Alexandre
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > > Alexandre Bergel  http://www.bergel.eu
> > > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Moose-dev mailing list
> > > > [hidden email]
> > > > https://www.list.inf.unibe.ch/listinfo/moose-dev
> > > >
> > > >
> > >
> > > --
> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > Alexandre Bergel  http://www.bergel.eu
> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > >
> > >
> > >
> > >
> > >
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel  http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> >
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>

--
www.tudorgirba.com
www.feenk.com

"Quality cannot be an afterthought."


Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Too frequent crashes :-(

EstebanLM
In reply to this post by abergel
would be possible to have one of your crashing images?
so I can test… because one of my problems is that I’m not able to reproduce the problem when I try, and is hard to fix blindly...

Esteban

> On 21 Dec 2016, at 08:09, Alexandre Bergel <[hidden email]> wrote:
>
> I had plenty of elements in my Roassal visualization, and on some point it just crashed.
> I have the impression that having many elements and / or animations (as in the case of Johan Fabry) triggers the crash.
>
> Alexandre
>
>
>> On Dec 20, 2016, at 9:12 AM, Stephane Ducasse <[hidden email]> wrote:
>>
>> So what was your crash problem?
>>
>>
>> On Tue, Dec 20, 2016 at 8:43 AM, Alexandre Bergel <[hidden email]> wrote:
>>> so did it work?
>>> Is there something that we should do?
>>
>> I had no problem, but as Henrik and Peter said, the problem is likely to be more complex
>>
>> Alexandre
>>
>>
>>>
>>> On Fri, Dec 16, 2016 at 5:06 PM, Alexandre Bergel <[hidden email]> wrote:
>>> Okay, trying…
>>>
>>> Alexandre
>>>
>>>
>>>> On Dec 16, 2016, at 4:40 PM, Aliaksei Syrel <[hidden email]> wrote:
>>>>
>>>> According to crash.dmp TRMorph>drawOn: draws an image using FormCanvas>>#image:at:sourceRect:rule:  at a coordinate represented by a Float point.
>>>> Try to round it to integer point.
>>>>
>>>> Cheers,
>>>> Alex
>>>>
>>>> On 16 December 2016 at 16:34, Alexandre Bergel <[hidden email]> wrote:
>>>> Hi!
>>>>
>>>> Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
>>>>
>>>> I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
>>>> I use the latest VM.
>>>>
>>>> Cheers,
>>>> Alexandre
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> [hidden email]
>>>> https://www.list.inf.unibe.ch/listinfo/moose-dev
>>>>
>>>>
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>


12