Having talked about this many times earlier, i have now codified for the system that has impediment to using toggle breakpoint, halts in polling methods, kernel , system classes etc.. saving the file after any runtime execution of Pharo.. I do have personally a stable env now with 1.3 on ubuntu but on windows though a big improvement now, it still stack overflows more due to a basic mistake no experienced small talker commits viz putting a halt in a polling method, System classes etc.. , modifying a code that is invoked every millisecond in say mouseDown: or the ilk. What is needed is a very simple Pharo kernel, that has this safe mode on, which disallows for a fresher the mistakes which bites.... Not Feb 21, 2012, at 8:24 PM, Sven Van Caekenberghe <sven@beta9.be> wrote:
Hi Dave,
On 21 Feb 2012, at 15:34, Dave Mason wrote:
This is the biggest thing for me. I'm trying to get my Analysis of Algorithms students to recognise and value a powerful environment like Pharo Smalltalk, but some of them are experiencing so many crashes that they've taken to entering their code in Notepad and then pasting it into Pharo!!! This is not a strong advert for Smalltalk or Pharo.
I suspect many of these crashes are stack overflows. I *thought* that Squeak/Pharo was supposed to recognise stack overflow, but I just wrote a method: crash ^self crash + 4 and my image grew to 500+MB and then crashed. This is with Pharo 1.3 one-click. With 1.1 one-click, I *do* get the Low space window popping up at 516MB (although I don't appear able to do much... it doesn't even seem to quit-no-save); I eventually did a force-quit. This is all on Mac OS X 10.6.8. The 1.3 says: VM: Mac OS - intel - 1068 - Croquet Closure Cog VM [CoInterpreter VMMaker-oscog- IgorStasenko.123] 21.0 Image: Pharo1.3 [Latest update: #13307]
How can I get more stability? Is it time to move to 1.4? Is there something I or my students can do to help?
Thanks for everybody's efforts!
../Dave
Out of the box experience is indeed very important.
There was an important fix related to stopping infinite loops recently, I am sure the latest 1.4 includes it.
Sven