OOM in Dovecot 2.2.13 imap

Timo Sirainen tss at iki.fi
Thu Jul 3 18:28:51 UTC 2014


On 23.6.2014, at 15.18, Bernhard Schmidt <berni at birkenwald.de> wrote:

> we run Dovecot 2.2.13 on Debian Wheezy with a couple thousand mailboxes.
> We have two users that repeatedly trigger an OOM condition with IMAP.
> 
> Jun 23 12:53:21 lxmhs74 dovecot: imap(USER): Fatal: pool_system_realloc(268435456): Out of memory
..
> #6  0x00007f11766e6cda in o_stream_grow_buffer (fstream=fstream at entry=0x7f11789f41c0, bytes=<optimized out>) at ostream-file.c:440
>        size = 268435456
>        new_size = <optimized out>
>        end_size = <optimized out>
..
> #11 0x00007f1175692849 in o_stream_zlib_send_outbuf (zstream=0x7f11789f9340) at ostream-zlib.c:94
>        ret = <optimized out>
>        size = 12113
> #12 0x00007f1175692982 in o_stream_zlib_send_flush (zstream=zstream at entry=0x7f11789f9340, final=final at entry=true) at ostream-zlib.c:189

This is most likely because of the IMAP COMPRESS extension, which causes the output stream buffer to get really large. So the easiest fix would be to just disable imap_zlib plugin and it'll probably work. But this should get fixed properly.. I just can't figure out how this can happen. What was the IMAP client doing that caused it? Could you run a few more gdb commands:

> #17 0x00007f1176e8d269 in client_output (client=0x7f11789f4470) at imap-client.c:1019

Assuming client_output is again in frame 17, run:

f 17
p *client.command_queue
p *client.command_queue.next



More information about the dovecot mailing list