OOM in Dovecot 2.2.13 imap
Patrick Domack
patrickdk at patrickdk.com
Mon Jul 14 16:05:35 UTC 2014
Just as a random follow up for other people that might google this.
I also started to have this issue. I tried the two patches but they
didn't help.
I came to find out, this can also be caused from a disk full issue,
atleast when using maildir.
Quoting Timo Sirainen <tss at iki.fi>:
> 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