'urbackupclientctl restore-start' causes OOM

I am trying to restore a folder containing two files:

Currently on client:

[root@ainalrami ~]# ls -l /home/cyberfusion/domains/cyberfusion.nl/logs
total 4
-rw-rw--w- 1 cyberfusion cyberfusion 4 Mar 23 11:02 access.log
-rw-rw--w- 1 cyberfusion cyberfusion 0 Mar  4 08:46 error.log

On backup server:

total 1
-rwx------ 2 urbackup urbackup 0 Mar  4 08:46 error.log
-rwx------ 2 urbackup urbackup 0 Mar  4 08:46 access.log

Running:

urbackupclientctl restore-start -s -p /home/cyberfusion/domains/cyberfusion.nl/logs -b last

The client OOMs directly after mmap(NULL, 4294971392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f09f8818000:

What could cause urbackupclient to OOM a server with 1.79 GB RAM, when trying to restore two files of not even 1 bytes?

Installing it with debug symbols (e.g. https://hndl.urbackup.org/Client/latest/UrBackup%20Client%20Linux%202.4.10-dbg.sh), then running:

gdb --args urbackupclientctl restore-start -s -p /home/cyberfusion/domains/cyberfusion.nl/logs -b last
run
bt

would get more details. Thanks!

Ah, I was not aware of the availability of debug symbols for UrBackup. I will wait for output (this could take a while :slight_smile: ).

As an alternative, I could try running this inside a cgroup to prevent OOM of the entire system…

[root@ainalrami ~]# gdb --args urbackupclientctl restore-start -s -p /home/cyberfusion/domains/cyberfusion.nl/logs -b last
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-115.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/urbackupclientctl...done.
(gdb) run
Starting program: /usr/local/bin/urbackupclientctl restore-start -s -p /home/cyberfusion/domains/cyberfusion.nl/logs -b last

Program terminated with signal SIGKILL, Killed.
The program no longer exists.
(gdb) bt
No stack.

‘Issue’ found! I was using -p (--pw-file) instead of -d. -d works well:

[root@ainalrami ~]# urbackupclientctl restore-start -s -d /home/cyberfusion/domains/cyberfusion.nl/logs -b last
Starting restore. Waiting for backup server... |
Restore completed successfully.