Seems to work in my tests. Could you do a bit more with gdb:
#6 0x0812e512 in client_dict_connect (dict=0x819abc8) at /var/tmp/dovecot-1.1.rc6/src/lib-dict/dict-client.c:268 query = 0x8178664 "D\206\027\b\003"
fr 6 p *dict
Program terminated with signal 11, Segmentation fault. #0 0xfed0578c in strlen () from /lib/libc.so.1 (gdb) fr 6 #6 0x0812e512 in client_dict_connect (dict=0x819abc8) at /var/tmp/dovecot-1.1.rc6/src/lib-dict/dict-client.c:268 268 dict->value_type, dict->username, dict->uri); Current language: auto; currently minimal (gdb) p *dict $1 = {dict = {name = 0x8163b6c "proxy", v = { init = 0x812e640 <client_dict_init>, deinit = 0x812e770 <client_dict_deinit>, lookup = 0x812e7b0 <client_dict_lookup>, iterate_init = 0x812e8c0 <client_dict_iterate_init>, iterate = 0x812e9c0 <client_dict_iterate>, iterate_deinit = 0x812eb00 <client_dict_iterate_deinit>, transaction_init = 0x812eb70 <client_dict_transaction_init>, transaction_commit = 0x812ebd0 <client_dict_transaction_commit>, transaction_rollback = 0x812ed00 <client_dict_transaction_rollback>, set = 0x812ed90 <client_dict_set>, unset = 0x812ee20 <client_dict_unset>, atomic_inc = 0x812ee90 <client_dict_atomic_inc>}}, pool = 0x819abb0, fd = 13, uri = 0x819ac30 "expiredict", username = 0x0, path = 0x8163a8c "/opt/dovecot/var/run/dovecot/dict-server", value_type = DICT_DATA_TYPE_UINT32, last_connect_try = 1212365823, input = 0x81b3018, output = 0x81b8d9c, connect_counter = 0, transaction_id_counter = 0, in_iteration = 0, handshaked = 0}