Segmentation fault - Server version 2.1.20


#1

I’ve just hit a segfault on CentOS 7. Since debug logging is enabled, I figured this was a good chance to try to report it.

Unfortunately I can’t find any core dump from the event, even though this is enabled in the systemd service file (LimitCORE=infinity is set).

I’m sending the server log file to bugreports@urbackup.org, but a summarized version can be found below (log is in reverse chronological order).

Thanks for any help with this.

Feb 10 21:51:08 [hostname] systemd[1]: urbackup-server.service failed.
Feb 10 21:51:08 [hostname] systemd[1]: Unit urbackup-server.service entered failed state.
Feb 10 21:51:08 [hostname] systemd[1]: urbackup-server.service: main process exited, code=killed, status=11/SEGV
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Error adding sparse file entry. Could not read metadata from [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: Error reading file metadata from file [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Error adding sparse file entry. Could not read metadata from [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: Error reading file metadata from file [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Error adding sparse file entry. Could not read metadata from [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: Error reading file metadata from file [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Error adding sparse file entry. Could not read metadata from [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: Error reading file metadata from file [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Error adding sparse file entry. Could not read metadata from [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: Error reading file metadata from file [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Error adding sparse file entry. Could not read metadata from [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: Error reading file metadata from file [file path]

.....


Feb 10 21:51:08 [hostname] urbackupsrv[10823]: Error reading file metadata from file [file path]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: f" too long. Shortening it and appending hash.
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Filename "
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: f" contains '/' which the operating system does not allow in paths. Replacing '/' with '_' and appending hash.
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Filename "
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: ERROR: Error parsing file BackupServerGet::getNextEntry - 1. Unexpected char '
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: ERROR: Error parsing file BackupServerGet::getNextEntry - 1. Unexpected char '
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [117B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [117B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [117B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [117B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: ERROR: Error parsing file BackupServerGet::getNextEntry - 1. Unexpected char 'N' at pos 15. Expected 'f', 'd' or 'u'.
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [117B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: ERROR: Error parsing file BackupServerGet::getNextEntry - 1. Unexpected char '
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: ERROR: Error parsing file BackupServerGet::getNextEntry - 1. Unexpected char '
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [117B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [117B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [116B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [116B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [116B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [116B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: ERROR: Error parsing file BackupServerGet::getNextEntry - 1. Unexpected char 'a' at pos 5. Expected 'f', 'd' or 'u'.
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: ERROR: Error parsing file BackupServerGet::getNextEntry - 1. Unexpected char '
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [116B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: ERROR: Error parsing file BackupServerGet::getNextEntry - 1. Unexpected char 'y' at pos 2. Expected 'f', 'd' or 'u'.
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: [116B blob data]
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: ERROR: Error parsing file BackupServerGet::getNextEntry - 1. Unexpected char '~' at pos 0. Expected 'f', 'd' or 'u'.
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: remaining_bufptr_bytes=0
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Block hash wrong. Getting whole block. currpos=363855872
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: MD5::finalize:  Already finalized this digest!
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: Not a whole block. currpos=363855872 block_for_chunk_start=-1
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: remaining_bufptr_bytes=0
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: WARNING: Block hash wrong. Getting whole block. currpos=363855872
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: MD5::finalize:  Already finalized this digest!
Feb 10 21:51:08 [hostname] urbackupsrv[10823]: Not a whole block. currpos=363855872 block_for_chunk_start=-1
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: remaining_bufptr_bytes=0
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: WARNING: Block hash wrong. Getting whole block. currpos=363855872
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: MD5::finalize:  Already finalized this digest!
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: Not a whole block. currpos=363855872 block_for_chunk_start=-1
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: remaining_bufptr_bytes=0
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: WARNING: Block hash wrong. Getting whole block. currpos=363855872
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: MD5::finalize:  Already finalized this digest!
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: Not a whole block. currpos=363855872 block_for_chunk_start=-1
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: remaining_bufptr_bytes=0
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: WARNING: Block hash wrong. Getting whole block. currpos=363855872
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: MD5::finalize:  Already finalized this digest!
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: Not a whole block. currpos=363855872 block_for_chunk_start=-1
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: remaining_bufptr_bytes=0
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: WARNING: Block hash wrong. Getting whole block. currpos=363855872
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: MD5::finalize:  Already finalized this digest!
Feb 10 21:51:07 [hostname] urbackupsrv[10823]: Not a whole block. currpos=363855872 block_for_chunk_start=-1
Feb 10 21:51:06 [hostname] urbackupsrv[10823]: remaining_bufptr_bytes=0

#2

If u can repeat it each time. Try to install gdb and the dbg package. Then get a backtrace.

Gdb urbackupsrv
Run
… Wait crash
Backtrace

If u can t get it easily. Try beta it actually quite stable


#3

Thanks very much for the suggestion. I might give this a try, but so far the crashes seem to be totally unpredictable.


#4

You might also want to try if using server 2.2.x fixes the issue (see the testing category).