From: <jc...@gm...> - 2015-10-20 12:51:03
|
Hi, thank you very much for 3.0, it's added a couple of features I needed and I'm now making progress on a goi binding for my image processing library. However I'm seeing crashes which seem to be related to #<GLib::Param::Object:0x000000011be6e8> objects being GCd when they should not. I have an Argument class I used to track object args during setup. The init looks like: def initialize(op, name) @op = op @name = name.tr '-', '_' @cls = op.gtype.to_class @prop = @cls.property name end ie. I have a prop member which keeps track of the gobject property during creation. After a GC, these pointers will sometimes become invalid and I get crashes on lines like: value = Argument::arrayize prop.value_type, value as it tries to use the prop. The C backtraces look like: /usr/lib/x86_64-linux-gnu/libruby-2.1.so.2.1(+0x18a4b7) [0x7f8df89794b7] /usr/lib/x86_64-linux-gnu/libruby-2.1.so.2.1(+0x18a583) [0x7f8df8979583] /usr/lib/x86_64-linux-gnu/libruby-2.1.so.2.1(+0x6db13) [0x7f8df885cb13] printf-parse.h:88 /usr/lib/x86_64-linux-gnu/libruby-2.1.so.2.1(rb_bug+0xb3) [0x7f8df885d183] printf-parse.h:75 ... etc Please let me know if you need more information. John |