|
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
|