Seems it's different with #bug 15588, From the above backtrace, it fail due to update userdb table, after #bug 15588 fixed, this can only happen if compiling with "--disable-userdb-cache" because it still try to update userdb hash table, this is not necessary because userdb cache disabled by user.
#0 0x0000000000e1a012 in strcmp () from /lib64/libc.so.6
tr_old_ memalign_ hook = (void *(*)(size_t, size_t, const void *)) 0
tr_old_ malloc_ hook = (void *(*)(size_t, const void *)) 0
tr_old_ realloc_ hook = (void *(*)(void *, size_t, const void *)) 0
malloc_ trace_buffer = 0x0
tr_old_ free_hook = (void (*)(void *, const void *)) 0 function (table= 0x7fb3155893f0, key=0x7fb3155973b0, idx=10, func=0xe1a010 <strcmp>, create_ if_not_ found=1, bucket=0x0, preallocated= 0x7fb315607828) function (table= 0x7fb3155893f0, key=0x7fb3155973b0, if_not_ found=1, bucket=0x0, preallocated= 0x7fb315607828) at dbus-hash.c:952 table_insert_ string_ preallocated (table= 0x7fb3155973b0, d=0x7fb31560782 8, key=0x7fb3155973b0 "developer", value=0x7fb3155 ab350) at dbus-hash.c:1680 table_insert_ string (table= 0x7fb3155893f0, 0x7fb3155973b0 "developer", value=0x7fb3155 ab350) at dbus-hash.c:1443
preallocated = (DBusPreallocat edHash *) 0xffffff64 database_ lookup (db=0x7fb315589260, uid=500, username= 0x7fb3155e9fb0,
mallstream = (FILE *) 0x0
lock = 0
mallenv = "MALLOC_TRACE"
mallwatch = (void *) 0x0
#1 0x00007fb31467abee in find_generic_
compare_
at dbus-hash.c:918
entry = (DBusHashEntry *) 0x7fb3156077f8
#2 0x00007fb31467aea6 in find_string_
create_
No locals.
#3 0x00007fb31467a8b1 in _dbus_hash_
preallocate
entry = <value optimized out>
#4 0x00007fb31467aad9 in _dbus_hash_
key=
#5 0x00007fb31468171e in _dbus_user_
Seems it's different with #bug 15588, From the above backtrace, it fail due to update userdb table, after #bug 15588 fixed, this can only happen if compiling with "--disable- userdb- cache" because it still try to update userdb hash table, this is not necessary because userdb cache disabled by user.
So here is a patch to fix it.