dbus-glib-1 bug in dbus_g_proxy_call
hp at redhat.com
Fri Jul 20 02:52:43 PDT 2007
As the message says, this is normally a bug in some application using
the library. You can't call the API with an invalid method name:
Cody Lodrige wrote:
> process 3676: arguments to dbus_message_new_method_call() were
> incorrect, assertion "_dbus_check_is_valid_member (method)" failed in
> file dbus-message.c line 1077.
> This is normally a bug in some application using the D-Bus library.
> ** ERROR **: Out of memory
(though I don't know why it says out of memory)
This case is different:
> call_result = dbus_g_proxy_call(proxy, "DefaultAdapterIDONTEXIST",
> &error, G_TYPE_INVALID, G_TYPE_STRING, &adapter_path, G_TYPE_INVALID);
In this case the method name is valid (well-formed) but just does not
exist in the application you're talking to.
In the first case, the problem is 100% your fault (you should not be
trying to call a non-well-formed method). In the second case, you could
not avoid the error, since you don't necessarily know what the other app
you're talking to will do or what methods it will claim to have.
In other words, the fix for the first error is "remove the code in your
app that does this" and the fix for the second error may be to fix the
other app, or it may be to add error handling code in your app to try a
different method if your first choice is missing.
It would be wrong to ever write error-handling code for the first case,
because right above handling the error you *caused* the error. So just
don't cause it. That's why there's no GError for that, because "if (I
just caused an error on the previous line)" is a silly piece of code to
More information about the dbus