Replication process Out of memory error

Joelly Alexander alex at joelly.net
Sun Oct 11 02:59:10 EEST 2020


Running replication between two nodes and every time a out of memory 
error is logged when a replication triggered:

2020.10.11 01:43:39 replicator: Panic: data stack: Out of memory when 
allocating 268435496 bytes
2020.10.11 01:43:39 replicator: Error: Raw backtrace: 
/usr/lib/dovecot/libdovecot.so.0(+0xdb62b) [0x7fcb4403662b] -> 
/usr/lib/dovecot/libdovecot.so.0(+0xdb6c1) [0x7fcb440366c1] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x4a149) [0x7fcb43fa5149] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x49d9d) [0x7fcb43fa4d9d] -> 
/usr/lib/dovecot/libdovecot.so.0(+0xd7c7d) [0x7fcb44032c7d] -> 
/usr/lib/dovecot/libdovecot.so.0(+0xfa9b8) [0x7fcb440559b8] -> 
/usr/lib/dovecot/libdovecot.so.0(+0xd52dc) [0x7fcb440302dc] -> 
/usr/lib/dovecot/libdovecot.so.0(buffer_write+0x66) [0x7fcb440304d6] -> 
dovecot/replicator(replicator_queue_push+0xd9) [0x55933ecc4ad9] -> 
dovecot/replicator(+0x5266) [0x55933ecc4266] -> 
dovecot/replicator(+0x4952) [0x55933ecc3952] -> 
dovecot/replicator(+0x4af0) [0x55933ecc3af0] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x6f) [0x7fcb4404cadf] 
-> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x136) 
[0x7fcb4404e0d6] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x4c) 
[0x7fcb4404cb7c] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) 
[0x7fcb4404cce0] -> 
/usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) 
[0x7fcb43fcd0d3] -> dovecot/replicator(main+0x196) [0x55933ecc2c56] -> 
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7fcb43db509b] 
-> dovecot/replicator(_start+0x2a) [0x55933ecc2d1a]
2020.10.11 01:43:39 replicator: Fatal: master: service(replicator): 
child 7834 killed with signal 6 (core dumped)


Setting vsz_limit doesn't change behavior, the OOM error indicates that 
it seems trying to allocate even more memory:

vsz_limit = 64M says says OOM Error when trying to allocate 67108904 
bytes which is 40 bytes more than what is set
vsz_limit = 128M says says OOM Error when trying to allocate 268435496 
bytes which is 40 bytes more than twice what is set
vsz_limit = 256M says says OOM Error when trying to allocate 268435496 
bytes which is 40 bytes more than what is set
vsz_limit = 512M says says OOM Error when trying to allocate 1073741864 
bytes which is 40 bytes more than twice what is set
vsz_limit = 1024M says says OOM Error when trying to allocate 1073741864 
bytes which is 40 bytes more than what is set
vsz_limit = 2048M says says OOM Error when trying to allocate 4294967336 
bytes which is 40 bytes more than twice what is set
vsz_limit = 4096M says says OOM Error when trying to allocate 4294967336 
bytes which is 40 bytes more than what is set
vsz_limit = 8192M says says OOM Error when trying to allocate 
17179869224 bytes which is 40 bytes more than twice what is set
vsz_limit = 16384M says says OOM Error when trying to allocate 
17179869224 bytes which is 40 bytes more than what is set

everything set larger than 16384M stays at OOM Error when trying to 
allocate 17179869224...

Replication itself seems to work but the error is always logged.

# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 5.8.0-0.bpo.2-amd64 x86_64 Debian 10.6 ext4

Thanks,
Alex

-- 
========================================================

    Alexander Joelly
    Bachweg 2
    A-8501 Lieboch, AUSTRIA

-------------- next part --------------
A non-text attachment was scrubbed...
Name: replicator.dump.bz2
Type: application/x-bzip
Size: 56221 bytes
Desc: not available
URL: <https://dovecot.org/pipermail/dovecot/attachments/20201011/23b1d575/attachment-0001.bin>


More information about the dovecot mailing list