Strange SIGPIPE when emitting signal with STRV
Havoc Pennington
hp at redhat.com
Wed Oct 26 07:18:55 PDT 2005
On Wed, 2005-10-26 at 13:22 +0100, Rob Taylor wrote:
> Any ideas what i'm doing wrong and what's causing the pipe to break?
You probably want the verbose log from the server side, my guess is the
server felt the message was not well-formed.
This is a common cause of confusion/debugging, if you figure out the
specific case I think we should try to cover it with one of:
- if the message is well-formed but just not valid (e.g. a missing
required header field) we should probably return an error reply
instead of disconnecting
- if the message is "corrupt" / not well-formed we should try to
print a warning from the client side library (dbus_return_if_fail)
- we should print client side warnings in the first case too (if e.g.
you try to send a signal without a signal name, or whatever)
If we wanted to be systematic about this, someone could go through the
message validation code and find all the things it will reject a message
on the basis of, and see if the client side also complains about them.
The one limitation is that it could be a noticeable performance hit if
we're doing all kinds of validation on the client side just to print out
warnings. So there are probably a few things you can do wrong that we'd
end up not wanting to warn about. Cheap checks like "is this field
present?" should be ok though.
Havoc
More information about the dbus
mailing list