On Jun 7, 2006, at 5:22 AM, Martin Portman wrote:
> I've got a problem with my big and sprawling app. The behaviour
> appears to be related to how many widgets i have in use. (I'm creating
> 100's and using show/hide at appropriate times.)
>> What happens when i create a new window is code like this:
>> Control.new( owner , ... )
> puts 1
> control.create
> puts 2
>> will work fine, but at some point will display 1, but not 2, and
> the loop it was in will terminate there and then, but the app.
> will keep on running, destined to crash oddly later on.
To address the subject line first: we don't have any fixed resource
limits in FOX. The problem that you're describing, however, is almost
certainly a GC-related bug in FXRuby. A possible workaround is to add
the line:
GC.disable
somewhere near the beginning of your program's execution. That won't
work around all GC-related bugs, but it often does the trick. And I
stress that it is just a work-around; we need to identify the actual
underlying bug.
> If I put all the creates after all the Control.new calls I get
> exactly the same behaviour. It is completely repeatable.
Repeatable bugs are good things. ;)
Can you send me a copy of the program and some instructions on how to
reproduce the crash? Even better, if you hit on a way to reproduce the
problem in a pared-down version of the application, that will reduce
the number of distractions during debugging.