Bump
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@entry=0xea5fd0) at dict.c:194 194 ctx->dict->v.transaction_rollback(ctx); (gdb) bt #0 dict_transaction_rollback (_ctx=_ctx@entry=0xea5fd0) at dict.c:194 #1 0x0000000000404d4d in dict_connection_destroy (conn=conn@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@entry=0xe9f730) at ioloop-epoll.c:220 #6 0x00007fbf886fe589 in io_loop_handler_run (ioloop=ioloop@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@entry=0x4059c0
) 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