Martin Portman
2006-Jun-07 10:22 UTC
[fxruby-users] Create fails strangely => Fixed resource limits in FXRuby/Fox?
Hi, 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. If I put all the creates after all the Control.new calls I get exactly the same behaviour. It is completely repeatable. The create call doesn''t raise any exception. Can someone shed some light on what''s going on, or tell me how I can find out more? I''m using Fox 1.4.2, Ruby 1.8.2. Thanks you, Martin.
Lyle Johnson
2006-Jun-07 13:46 UTC
[fxruby-users] Create fails strangely => Fixed resource limits in FXRuby/Fox?
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.