max message size ?

Havoc Pennington hp at redhat.com
Mon Feb 14 18:14:36 PST 2005


On Tue, 2005-02-15 at 11:48 +1100, Johan Fischer wrote:
> As you can see, my quick fix for it to work was to comment the unref 
> line... So I wonder if it was/is a pb in my code and that I shouldn't 
> have use the unref or a pb in the lib ?

I don't know of a lib problem here, but there could be. I would
recommend trying to create a small/simple test case that reproduces the
problem (if you can't make the simple case reproduce it's probably some
larger problem with your code, if you can make it reproduce then your
test case will allow me to debug dbus)

> The second one is about the signature and max message size. My server 
> seems to crash failing an assert when trying to create a 4kbytes 
> message. I'm creating a message using iter_append_basic only so it 
> might be too much append for the signature (I'm just guessing)...
> 
> The error message :
> [ResTradeList] Start nb=31 - messageSize=4189
> 15860: assertion failed "data_len <= DBUS_MAXIMUM_SIGNATURE_LENGTH" 
> file "dbus-marshal-basic.c" line 760 function 
> marshal_len_followed_by_bytes

This limitation isn't the max message size, just the max signature size.
Probably your message should have a single array argument instead of a
whole bunch of separate arguments.

i.e. instead of the signature "int, int, int, int, int" you want
"array<int>"

If you have multiple types then do array<variant>

Havoc




More information about the dbus mailing list