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