segfault in dict_transaction_rollback() on doveadm quota recalc -u

Lazy lazy404 at gmail.com
Wed Dec 30 16:35:24 UTC 2015


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 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