Bug 472202

Summary: dbus-send cant send dict args
Product: Red Hat Enterprise Linux 5 Reporter: Tomas Pelka <tpelka>
Component: dbusAssignee: David Zeuthen <davidz>
Status: CLOSED WONTFIX QA Contact: desktop-bugs <desktop-bugs>
Severity: medium Docs Contact:
Priority: high    
Version: 5.3CC: benl, dcbw, jrb, mclasen, syeghiay
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-10 19:12:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tomas Pelka 2008-11-19 11:43:46 UTC
Description of problem:
Dbus-send unable to send dict arguments.

Version-Release number of selected component (if applicable):
dbus-1.1.2-12.el5

How reproducible:
100%

Steps to Reproduce:
1. Send:
 dbus-send --dest=org.freedesktop.ExampleName /org/freedesktop/sample/object/name org.freedesktop.ExampleInterface.ExampleMethod dict:string:int32:"one",1
  
Actual results:
process 21869: arguments to dbus_message_iter_open_container() were incorrect, assertion "(type == DBUS_TYPE_STRUCT && contained_signature == NULL) || (type == DBUS_TYPE_DICT_ENTRY && contained_signature == NULL) || (type == DBUS_TYPE_VARIANT && contained_signature != NULL) || (type == DBUS_TYPE_ARRAY && contained_signature != NULL)" failed in file dbus-message.c line 2356.
This is normally a bug in some application using the D-Bus library.
process 21869: dbus message iterator looks uninitialized or corrupted
process 21869: arguments to dbus_message_iter_append_basic() were incorrect, assertion "_dbus_message_iter_append_check (real)" failed in file dbus-message.c line 2239.
This is normally a bug in some application using the D-Bus library.
process 21869: dbus message iterator looks uninitialized or corrupted
process 21869: arguments to dbus_message_iter_append_basic() were incorrect, assertion "_dbus_message_iter_append_check (real)" failed in file dbus-message.c line 2239.
This is normally a bug in some application using the D-Bus library.
process 21869: dbus message iterator looks uninitialized or corrupted
process 21869: arguments to dbus_message_iter_close_container() were incorrect, assertion "_dbus_message_iter_append_check (real_sub)" failed in file dbus-message.c line 2414.
This is normally a bug in some application using the D-Bus library.

Expected results:
No output, message should be send.

Additional info:

Comment 1 Tomas Pelka 2008-12-02 20:03:23 UTC
*** Bug 472044 has been marked as a duplicate of this bug. ***

Comment 2 Tomas Pelka 2008-12-03 12:41:55 UTC
process 7970: arguments to dbus_message_iter_open_container() were incorrect, assertion "(type == DBUS_TYPE_STRUCT && contained_signature == NULL) || (type == DBUS_TYPE_DICT_ENTRY && contained_signature == NULL) || (type == DBUS_TYPE_VARIANT && contained_signature != NULL) || (type == DBUS_TYPE_ARRAY && contained_signature != NULL)" failed in file dbus-message.c line 2356.
This is normally a bug in some application using the D-Bus library.
Segmentation fault


throwable also with dbus-python, see:
https://bugzilla.redhat.com/show_bug.cgi?id=469151#c1
https://bugzilla.redhat.com/attachment.cgi?id=321903

[note]
For reproduce uncomment commentd lines in example-client.py.

So now we have three ways to verify this bug.

Comment 3 Dan Williams 2008-12-04 17:09:19 UTC
hmm, is there an upstream commit we can easily backport for this one?

Comment 5 Tomas Pelka 2008-12-04 19:47:35 UTC
Not a regression, work fine on RHEL5.2 U2 (dbus-1.0.0-7.el5)

Comment 7 Jonathan Blandford 2008-12-10 19:12:12 UTC
From David Z:

"If this is just a bug in dbus-send(1) I'm not sure it's worth fixing for
RHEL5 unless some customer jumps on it; most people don't use
dbus-send(1), the ones that do rarely use it for dicts. Also, comment 5
seems to indicate this is fine for 5.2 and up (though the comment is a
bit ambiguous).

I'm pretty sure this is not a bug in libdbus; otherwise HAL, NM wouldn't
work and then you would know soon enough.

Suggest to close the bug."

Concur on that -- I'd be surprised if dbus couldn't send dicts.  Closing.