Hey Alex, Found another GC bug in wxRuby. I ran into this problem, when trying to implement Wx::GenericDirCtrl into wxRuby. The specific case in which this is occuring, is when I attach the two event handlers for evt_tree_item_expanding() and evt_tree_item_activated() when grabbing the Wx::GenericDirCtrl#get_tree_ctrl(). All I have it doing, is attempting to catch these events (Which I really don''t need evt_tree_item_expanding() at this point and time), and print evt.get_item(). It never actually reaches this point, as I will expand one folder, no problem (But the event doesn''t fire), and if I start scrolling through the list, it''ll segfault. I ran GDB on it, and came up with the backtrace log, showing that it''s crashing in the middle of DoGCMarkItemData(), from RecurseOverTreeIds(), and RecurseFromRoot(), and finally from wxRubyApp::mark_iterate(). Here''s the backtrace log, hope it helps: [eumario at localhost wxRIDE]$ gdb --args ruby -llib wxRIDE.rb GNU gdb 6.3-9pclos2007 (PCLinuxOS release 2007) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i586-mandriva-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/i686/libthread_db.so.1". (gdb) r Starting program: /usr/bin/ruby -llib wxRIDE.rb Reading symbols from shared object read from target memory...(no debugging symbols found)...done. Loaded system supplied DSO at 0xb7f04000 [Thread debugging using libthread_db enabled] [New Thread -1211709760 (LWP 17294)] /home/eumario/.gtkrc-2.0:56: Clearlooks configuration option "menuitemstyle" is not supported and will be ignored. /home/eumario/.gtkrc-2.0:57: Clearlooks configuration option "listviewitemstyle" is not supported and will be ignored. /home/eumario/.gtkrc-2.0:58: Clearlooks configuration option "progressbarstyle" is not supported and will be ignored. /home/eumario/.themes/Clearlooks-Vista/gtk-2.0/gtkrc:54: Clearlooks configuration option "menuitemstyle" is not supported and will be ignored. /home/eumario/.themes/Clearlooks-Vista/gtk-2.0/gtkrc:55: Clearlooks configuration option "listviewitemstyle" is not supported and will be ignored. /home/eumario/.themes/Clearlooks-Vista/gtk-2.0/gtkrc:56: Clearlooks configuration option "progressbarstyle" is not supported and will be ignored. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1211709760 (LWP 17294)] 0xb7e49010 in Init_heap () from /usr/lib/libruby.so.1.8 (gdb) whe #0 0xb7e49010 in Init_heap () from /usr/lib/libruby.so.1.8 #1 0xb7e48b21 in Init_heap () from /usr/lib/libruby.so.1.8 #2 0xb7a3f766 in DoGCMarkItemData () from /usr/lib/ruby/site_ruby/1.8/i586-linux-gnu/wxruby2.so #3 0xb7a3dd88 in RecurseOverTreeIds () from /usr/lib/ruby/site_ruby/1.8/i586-linux-gnu/wxruby2.so #4 0xb7a45b73 in RecurseFromRoot () from /usr/lib/ruby/site_ruby/1.8/i586-linux-gnu/wxruby2.so #5 0xb7e48ba0 in Init_heap () from /usr/lib/libruby.so.1.8 #6 0xb770086d in wxRubyApp::mark_iterate () from /usr/lib/ruby/site_ruby/1.8/i586-linux-gnu/wxruby2.so #7 0xb7e3e674 in rb_apply () from /usr/lib/libruby.so.1.8 #8 0xb7e3f7bf in rb_yield () from /usr/lib/libruby.so.1.8 #9 0xb7e4c081 in rb_hash_freeze () from /usr/lib/libruby.so.1.8 #10 0xb7e4c750 in rb_env_path_tainted () from /usr/lib/libruby.so.1.8 #11 0xb7e972d9 in st_foreach () from /usr/lib/libruby.so.1.8 #12 0xb7e4e1a0 in rb_hash_reject_bang () from /usr/lib/libruby.so.1.8 #13 0xb7e2f7ee in rb_ensure () from /usr/lib/libruby.so.1.8 #14 0xb7e4d65a in rb_hash_foreach () from /usr/lib/libruby.so.1.8 #15 0xb7e4dbd2 in rb_hash_foreach () from /usr/lib/libruby.so.1.8 #16 0xb7e2ad7e in rb_provide () from /usr/lib/libruby.so.1.8 #17 0xb7e32ab2 in rb_iter_break () from /usr/lib/libruby.so.1.8 #18 0xb7e33838 in rb_iter_break () from /usr/lib/libruby.so.1.8 #19 0xb7e33e30 in rb_respond_to () from /usr/lib/libruby.so.1.8 #20 0xb7e33fb0 in rb_funcall () from /usr/lib/libruby.so.1.8 #21 0xb7e24e23 in rb_each () from /usr/lib/libruby.so.1.8 #22 0xb7e2fd01 in rb_iterate () from /usr/lib/libruby.so.1.8 #23 0xb77007a2 in wxRubyApp::mark_wxRubyApp () from /usr/lib/ruby/site_ruby/1.8/i586-linux-gnu/wxruby2.so #24 0xb7e48ba0 in Init_heap () from /usr/lib/libruby.so.1.8 #25 0xb7e49101 in rb_gc_mark () from /usr/lib/libruby.so.1.8 #26 0xb7e972d9 in st_foreach () from /usr/lib/libruby.so.1.8 ---Type <return> to continue, or q <return> to quit--- #27 0xb7e486ae in rb_mark_hash () from /usr/lib/libruby.so.1.8 #28 0xb7e48f46 in Init_heap () from /usr/lib/libruby.so.1.8 #29 0xb7e49101 in rb_gc_mark () from /usr/lib/libruby.so.1.8 #30 0xb7e972d9 in st_foreach () from /usr/lib/libruby.so.1.8 #31 0xb7e486ae in rb_mark_hash () from /usr/lib/libruby.so.1.8 #32 0xb7e48f46 in Init_heap () from /usr/lib/libruby.so.1.8 #33 0xb7e48f64 in Init_heap () from /usr/lib/libruby.so.1.8 #34 0xb7e49101 in rb_gc_mark () from /usr/lib/libruby.so.1.8 #35 0xb7e972d9 in st_foreach () from /usr/lib/libruby.so.1.8 #36 0xb7e486ae in rb_mark_hash () from /usr/lib/libruby.so.1.8 #37 0xb7e48f3b in Init_heap () from /usr/lib/libruby.so.1.8 #38 0xb7e49101 in rb_gc_mark () from /usr/lib/libruby.so.1.8 #39 0xb7e972d9 in st_foreach () from /usr/lib/libruby.so.1.8 #40 0xb7e486ae in rb_mark_hash () from /usr/lib/libruby.so.1.8 #41 0xb7e48f46 in Init_heap () from /usr/lib/libruby.so.1.8 #42 0xb7e48b21 in Init_heap () from /usr/lib/libruby.so.1.8 #43 0xb7e48b21 in Init_heap () from /usr/lib/libruby.so.1.8 #44 0xb7e48b21 in Init_heap () from /usr/lib/libruby.so.1.8 #45 0xb7e48ee9 in Init_heap () from /usr/lib/libruby.so.1.8 #46 0xb7e4938a in rb_gc_mark_maybe () from /usr/lib/libruby.so.1.8 #47 0xb7e49e56 in rb_newobj () from /usr/lib/libruby.so.1.8 #48 0xb7e99cc7 in rb_str_resize () from /usr/lib/libruby.so.1.8 #49 0xb7e99e6b in rb_str_new3 () from /usr/lib/libruby.so.1.8 #50 0xb7e9a672 in rb_str_new2 () from /usr/lib/libruby.so.1.8 #51 0xb77f2e35 in SWIG_Ruby_NewPointerObj () from /usr/lib/ruby/site_ruby/1.8/i586-linux-gnu/wxruby2.so #52 0xb77f6a7a in SwigDirector_wxGenericDirCtrl::ProcessEvent () from /usr/lib/ruby/site_ruby/1.8/i586-linux-gnu/wxruby2.so #53 0xb708b1fb in wxWindowBase::TryParent () from /usr/lib/libwx_gtk2u- 2.8.so.0 #54 0xb6f1af8b in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_gtk2u- 2.8.so.0 #55 0xb6f1af7b in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_gtk2u- 2.8.so.0 ---Type <return> to continue, or q <return> to quit--- #56 0xb70bfc03 in wxScrollHelperEvtHandler::ProcessEvent () from /usr/lib/libwx_gtk2u-2.8.so.0 #57 0xb708d9e3 in wxWindowBase::UpdateWindowUI () from /usr/lib/libwx_gtk2u- 2.8.so.0 #58 0xb6f74d92 in wxWindow::OnInternalIdle () from /usr/lib/libwx_gtk2u- 2.8.so.0 #59 0xb70d1fb5 in wxGenericTreeCtrl::OnInternalIdle () from /usr/lib/libwx_gtk2u-2.8.so.0 #60 0xb6ff7785 in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u- 2.8.so.0 #61 0xb6ff77bf in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u- 2.8.so.0 #62 0xb6ff77bf in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u- 2.8.so.0 #63 0xb6ff77bf in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u- 2.8.so.0 #64 0xb6ff7aeb in wxAppBase::ProcessIdle () from /usr/lib/libwx_gtk2u- 2.8.so.0 #65 0xb6f45e2f in wxapp_idle_callback () from /usr/lib/libwx_gtk2u-2.8.so.0 #66 0xb66d7a40 in g_source_is_destroyed () from /usr/lib/libglib-2.0.so.0 #67 0xb66d9641 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #68 0xb66dcac6 in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #69 0xb66dce34 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #70 0xb6a1781f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #71 0xb6f601cc in wxEventLoop::Run () from /usr/lib/libwx_gtk2u-2.8.so.0 #72 0xb6ff7a1e in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u-2.8.so.0 #73 0xb6ff7061 in wxAppBase::OnRun () from /usr/lib/libwx_gtk2u-2.8.so.0 #74 0xb6eabefa in wxEntry () from /usr/lib/libwx_gtk2u-2.8.so.0 #75 0xb76fffb9 in _wrap_App_main_loop () from /usr/lib/ruby/site_ruby/1.8/i586-linux-gnu/wxruby2.so #76 0xb7e2ad93 in rb_provide () from /usr/lib/libruby.so.1.8 #77 0xb7e32ab2 in rb_iter_break () from /usr/lib/libruby.so.1.8 #78 0xb7e33838 in rb_iter_break () from /usr/lib/libruby.so.1.8 #79 0xb7e3b5f6 in rb_apply () from /usr/lib/libruby.so.1.8 #80 0xb7e3c184 in rb_apply () from /usr/lib/libruby.so.1.8 #81 0xb7e411f8 in rb_load_protect () from /usr/lib/libruby.so.1.8 #82 0xb7e41242 in ruby_exec () from /usr/lib/libruby.so.1.8 #83 0xb7e4127f in ruby_run () from /usr/lib/libruby.so.1.8 #84 0x0804867d in main () L8ers, -- Mario Steele http://www.trilake.net http://www.ruby-im.net http://rubyforge.org/projects/wxruby/ http://rubyforge.org/projects/wxride/ http://rubyforge.org/projects/vwmc/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/wxruby-development/attachments/20080121/564ff177/attachment-0001.html