Hello All,
I am facing a crash in DBUS related APIs. I am sending below data from
Ganesha server to ganesha_stats utility.
Array of 20 elements consisting of { DBUS_TYPE_STRING, DBUS_TYPE_UINT64,
DBUS_TYPE_UINT64, DBUS_TYPE_UINT64 }
Array of 23 elements consisting of { DBUS_TYPE_STRING, DBUS_TYPE_UINT64,
DBUS_TYPE_UINT64, DBUS_TYPE_UINT64 }
Array of 72 elements consisting of { DBUS_TYPE_STRING, DBUS_TYPE_UINT64,
DBUS_TYPE_UINT64 }
I am getting below stack trace.
(gdb) bt
#0 0x00007fb868109c1f in raise () from /lib64/libpthread.so.0
#1 0x0000000000443421 in crash_handler (signo=11, info=0x7fb860ea4130,
ctx=0x7fb860ea4000)
at
/usr/src/debug/gpfs.nfs-ganesha-2.7.5-ibm055.01.el8.x86_64/MainNFSD/nfs_init.c:244
#2 <signal handler called>
#3 0x00007fb86950e01d in _dbus_marshal_read_uint32 () from
/lib64/libdbus-1.so.3
#4 0x00007fb86950e92a in _dbus_marshal_skip_basic () from
/lib64/libdbus-1.so.3
#5 0x00007fb8694f8cb3 in base_reader_next () from /lib64/libdbus-1.so.3
#6 0x00007fb8694f8b9f in _dbus_type_reader_next () from
/lib64/libdbus-1.so.3
#7 0x00007fb8694f8c70 in base_reader_next () from /lib64/libdbus-1.so.3
#8 0x00007fb8694f8d4d in struct_reader_next () from /lib64/libdbus-1.so.3
#9 0x00007fb8694f8b9f in _dbus_type_reader_next () from
/lib64/libdbus-1.so.3
#10 0x00007fb8694f8e78 in array_reader_next () from /lib64/libdbus-1.so.3
#11 0x00007fb8694f8b9f in _dbus_type_reader_next () from
/lib64/libdbus-1.so.3
#12 0x00007fb8694f6e73 in _dbus_header_cache_revalidate () from
/lib64/libdbus-1.so.3
#13 0x00007fb8694f7796 in _dbus_header_get_field_raw () from
/lib64/libdbus-1.so.3
#14 0x00007fb8694fbe0f in _dbus_message_iter_open_signature.part.4 () from
/lib64/libdbus-1.so.3
#15 0x00007fb8694fdde8 in dbus_message_iter_append_basic () from
/lib64/libdbus-1.so.3
#16 0x000000000051cfe2 in server_dbus_client_all_ops (iter=0x7fb860ea5150,
client=0x7fb834002de0)
at
/usr/src/debug/gpfs.nfs-ganesha-2.7.5-ibm055.01.el8.x86_64/support/server_stats.c:2074
#17 0x000000000044901d in gsh_client_all_ops (args=0x7fb860ea51e0,
reply=0x1a446f0, error=0x7fb860ea5230)
at
/usr/src/debug/gpfs.nfs-ganesha-2.7.5-ibm055.01.el8.x86_64/support/client_mgr.c:704
#18 0x000000000055f883 in dbus_message_entrypoint (conn=0x1a44380,
msg=0x1a44540, user_data=0x7efdd0 <cltmgr_interfaces>)
at
/usr/src/debug/gpfs.nfs-ganesha-2.7.5-ibm055.01.el8.x86_64/dbus/dbus_server.c:560
#19 0x00007fb869502be8 in _dbus_object_tree_dispatch_and_unlock () from
/lib64/libdbus-1.so.3
#20 0x00007fb8694f3384 in dbus_connection_dispatch () from
/lib64/libdbus-1.so.3
#21 0x00007fb8694f3748 in _dbus_connection_read_write_dispatch () from
/lib64/libdbus-1.so.3
#22 0x0000000000560433 in gsh_dbus_thread (arg=0x0) at
/usr/src/debug/gpfs.nfs-ganesha-2.7.5-ibm055.01.el8.x86_64/dbus/dbus_server.c:796
#23 0x00007fb8680ff2de in start_thread () from /lib64/libpthread.so.0
#24 0x00007fb867a0ca63 in clone () from /lib64/libc.so.6
If I reduce the number of elements being sent, then everything works fine.
So looks like hitting some DBUS message size limit.
May I know is there any way to increase the DBUS message size ?
--
with regards,
Sachin Punadikar