On 23.6.2014, at 15.18, Bernhard Schmidt <[email protected]> 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@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@entry=0x7f11789f9340, final=final@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

Reply via email to