From: Rick DeNatale Date: 2007-06-14T03:12:49+09:00 Subject: Re: Manual Garbage Collection On 6/13/07, Conan wrote: > Hi. I'm having a problem with a Ruby-Gnome2 application I've been > building. For some reason(which I haven't identified but I suspect is > ruby-gnome problem) my program randomly segfaults. I fixed this by > disabling garbage collection(Maybe GC was cleaning up objects that were > still in use?) Not very likely, the GC if anything tends not to free objects which are still referenced rather than the other way around. Segfaults are almost always caused by flawed extension code in C/C++ I think that ruby-gnome2 might have a bit of that. . I've not used or looked at Ruby-Gnome2 but I'd look to see if it was using finalizers. It could be that the bug is being exposed by their code which runs in a finalizer. Turning off GC would prevent this code from running. > but of course now my application runs out of memory > relatively quickly. I know which parts of my non-gnome related code are > memory hogs, and I was wondering if there is a way to manually garbage > collect specific objects(and their dependencies hopefully)? Or, > alternatively, is their a way to only run garbage collection within a > certain scope? I'm afraid not. > I'd love a solution to this, as my current alternatives are either > running out of memory or random segfaults. Or tracking down what's actually segfaulting. Perhaps there are some ideas in this thread: http://www.ruby-forum.com/topic/110106 -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/