Max, I'm on your side, really :) Silent failures are a big problem and should not be allowed to persist. What I don't know is whether the remedy for low space is simply to log it and then proceed to crash, or if a handler can do something useful. The handler probably would need to be registered; otherwise, the low space condition might show up in a thread other than the one hogging all of the memory, I think.
If a handler had to bail me out, I would probably want that logged, but if it is my handler, I should be able to do the logging. Bill ________________________________________ From: pharo-project-boun...@lists.gforge.inria.fr [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Max Leske [maxle...@gmail.com] Sent: Wednesday, February 02, 2011 3:16 AM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] react on low space Bill, I agree that it is important to at least know that there has been a low space condition. But then again, if there is a low space watcher anyway, shouldn't there be a way to register as a listener or something? Igor, I haven't run your code yet but it looks exactly like what I was looking for! Thanks. Max On 01.02.2011, at 14:13, Igor Stasenko wrote: > On 1 February 2011 14:11, Igor Stasenko <siguc...@gmail.com> wrote: >> I think you can catch the OutOfMemory exception: >> > Oops. example was a bit wrong. something like that: > > [ | y x | y := x := Array new: 1000. > 1000000 timesRepeat: [ x at: 1 put: (Array new: 10000). x := x at: 1 ] > ] on: OutOfMemory do: [:ex | > .... > ] > > >> >> On 1 February 2011 12:00, Max Leske <maxle...@gmail.com> wrote: >>> I'm bumping this message. I think it's an important question and could help >>> other developers who might have the same problem one day. The low space >>> watcher is cool but if you don't get the chance to actually look at the >>> stack it's pretty useless. >>> Max >>> On 30.01.2011, at 13:10, Max Leske wrote: >>> >>> Hi guys >>> Is there an easy way to react on low space? Something like: >>> >>> SmalltalkImage isSpaceLow >>> ifTrue: [ <suspend my process> ] >>> >>> The reason I'm asking is that I have a background process running that >>> causes a low space condition but I never get around to opening the debugger >>> and the image crashes on me. So for debugging purposes I'd like to >>> periodically check the space that is left or alternatively be notified if >>> low space is signalled. >>> Any ideas? >>> Thanks, >>> Max >>> >> >> >> >> -- >> Best regards, >> Igor Stasenko AKA sig. >> > > > > -- > Best regards, > Igor Stasenko AKA sig. >