On 08/25/11 - 02:04:57PM, Richard W.M. Jones wrote:
I won't pretend I really understand what's going on here.
I've CC'd
this message to Chris since he might have a better idea.
https://bugzilla.redhat.com/show_bug.cgi?id=733297
In this bug, it appears that the event log callback goes out of scope
and is garbage collected. (This is despite the fact we registered it
as a global root). When we invoke the callback later, rb_funcall
raises this exception:
wrong argument type Proc (expected Data)
I checked the type of the callback, and indeed it changes from T_DATA
(normal) to T_NONE (raises this exception).
My workaround simply checks that the type != T_NONE before calling.
Nothing jumps to mind here Rich. I took a quick look at the code in libguestfs
that is doing this, and it seems sane, so I don't have a good explanation for
you. If I find some time this afternoon I'll take a deeper look and see if I
come up with any ideas.
--
Chris Lalancette