OOM in Dovecot 2.2.13 imap

Timo Sirainen tss at iki.fi
Thu Jul 3 18:56:07 UTC 2014


Actually, I think these fix it:

http://hg.dovecot.org/dovecot-2.2/rev/5740cb57d02c
http://hg.dovecot.org/dovecot-2.2/rev/00b3aa3842b7

On 3.7.2014, at 21.28, Timo Sirainen <tss at iki.fi> wrote:

> 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