Charlie Savage wrote:
Dmitri Priimak wrote:
Charlie Savage wrote:
Which ultimately originates in line 1049 in gc.c ( function
gc_mark_children ) in ruby-1.8.7-p72
Any ideas?
If you can easily duplicate the issue (sounds like it), then what I
would do is run the program under a debugger like gdb or VC++. Put
a breakpoint in the relevant mark functions defined in the libxml
library. Then step through them and see if you can see what's going
on.
Or put a breakpoint in the ruby source code that is raising the
exception, and inspect the backtrace. On Windows you won't have any
luck with that since the Ruby executable doesn't have symbol
information, but maybe your platform is different.
I will give it a try, but I haven't used gdb in ages.
Good luck! I actually prefer a IDE for debugger - so you could always
use Eclipse or NetBeans or some such if you'd like....
Another alternative is put in printf statements to standard out, but I
think using a debugger is faster and provides a lot more information.
Well, after some looking around it seems to me that the problem appears
in ruby_xml_parser.c
when calling
rb_gc_mark(((rx_string_data *)rxp->data)->str);
Is it possible that ((rx_string_data *)rxp->data)->str is not a proper
RVALUE? Or at least without proper ruby type?
--
Dmitri Priimak
_______________________________________________
libxml-devel mailing list
libxml-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/libxml-devel