segfault in dict_transaction_rollback() on doveadm quota recalc -u
Timo Sirainen
tss at iki.fi
Wed Dec 30 22:02:57 UTC 2015
> Lazy <lazy404 at gmail.com> kirjoitti 30.12.2015 kello 11.35:
>
> Bump
Did you try with v2.2.21? There are some fixes related to dict.
>
>
>> Hi,
>>
>> We have a dovecot cluster with nfs storage, 2 directors and 3
>> imap/pop3/lmtp backends.
>>
>> Redis is used as a dict backend with a dict proxy.
>>
>> dict {
>> quota = redis:host=127.0.0.1:prefix=user/
>> }
>>
>> plugin {
>>
>> quota = dict:User quota::proxy::quota
>>
>> }
>>
>> Redis server is behind haproxy working in tcp mode.
>>
>> doveadm quota recalc -u user always couses dict process segfault (called
>> from imap backend or director host), otherwise quota is working correctly.
>>
>>
>> #0 dict_transaction_rollback (_ctx=_ctx at entry=0xea5fd0) at dict.c:194
>> 194 ctx->dict->v.transaction_rollback(ctx);
>> (gdb) bt
>> #0 dict_transaction_rollback (_ctx=_ctx at entry=0xea5fd0) at dict.c:194
>> #1 0x0000000000404d4d in dict_connection_destroy (conn=conn at entry=0xea5af0)
>> at dict-connection.c:166
>> #2 0x0000000000405098 in dict_connection_input (conn=<optimized out>) at
>> dict-connection.c:127
>> #3 dict_connection_input (conn=0xea5af0) at dict-connection.c:96
>> #4 0x00007fbf886fe4fb in io_loop_call_io (io=0xeab550) at ioloop.c:501
>> #5 0x00007fbf886ff54b in io_loop_handler_run_internal (ioloop=ioloop at entry=0xe9f730)
>> at ioloop-epoll.c:220
>> #6 0x00007fbf886fe589 in io_loop_handler_run (ioloop=ioloop at entry=0xe9f730)
>> at ioloop.c:548
>> #7 0x00007fbf886fe608 in io_loop_run (ioloop=0xe9f730) at ioloop.c:525
>> #8 0x00007fbf8869fbc3 in master_service_run (service=0xe9f5c0,
>> callback=callback at entry=0x4059c0 <client_connected>) at
>> master-service.c:581
>> #9 0x0000000000404ad8 in main (argc=1, argv=0xe9f390) at main.c:105
>> (gdb) p ctx
>> $1 = (struct dict_transaction_context *) 0x0
>>
>>
>> dovecot 2.2.18, redis server 2.8
>>
>>
>>
>> Regards Michal
>>
More information about the dovecot
mailing list