You are not logged in.
After upgrading librsync from 1.0.0-1 2.0.0-1 on my 32bit server, rdiff-backup (1.2.8-7) segfaults when making a backup. Downgrading librsync back to 1.0.0-1 solved the segfaults, but which package should I report a bug for: rdiff-backup or librsync? I don't understand the stack trace below well enough to decide which is the culprit.
The problem only (and consistently ) happens when I issue a particular backup command, doing a backup of my whole system, and not when testing with some random folders. So I guess the particularities of my system backup archive and/or backed up files also trigger this error. Below are various logs rdiff-backup segfaulting using the same rdiff-backup command although the strace log is from a later crash.
journald output:
Jan 03 18:43:17 arch-server mysqld[7119]: 2016-01-03 18:43:17 3046475584 [Note] InnoDB: Waiting for purge to start
Jan 03 18:43:17 arch-server mysqld[7119]: 2016-01-03 18:43:17 3046475584 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.26-76.0 started; log sequence number 9301768744
Jan 03 18:43:17 arch-server systemd-coredump[7114]: Process 7110 (rdiff-backup) of user 0 dumped core.
Stack trace of thread 7110:
#0 0x00000000b6b873fd rs_search_for_block (librsync.so.2)
#1 0x00000000b6b83cfc n/a (librsync.so.2)
#2 0x00000000b6b84bd4 rs_job_iter (librsync.so.2)
#3 0x00000000b6d39fbc n/a (_librsync.so)
#4 0x00000000b75fbb55 PyCFunction_Call (libpython2.7.so.1.0)
#5 0x00000000b765e777 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#6 0x00000000b765dd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#7 0x00000000b7661625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#8 0x00000000b765dc31 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#9 0x00000000b765dd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#10 0x00000000b7661625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#11 0x00000000b765dc31 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#12 0x00000000b7661625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#13 0x00000000b765dc31 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#14 0x00000000b765dd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#15 0x00000000b7661625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#16 0x00000000b75e480a function_call (libpython2.7.so.1.0)
#17 0x00000000b75baf3b PyObject_Call (libpython2.7.so.1.0)
#18 0x00000000b7659280 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#19 0x00000000b7661625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#20 0x00000000b765dc31 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#21 0x00000000b7661625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#22 0x00000000b75e480a function_call (libpython2.7.so.1.0)
#23 0x00000000b75baf3b PyObject_Call (libpython2.7.so.1.0)
#24 0x00000000b7659280 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#25 0x00000000b7661625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#26 0x00000000b75e480a function_call (libpython2.7.so.1.0)
#27 0x00000000b75baf3b PyObject_Call (libpython2.7.so.1.0)
#28 0x00000000b75cb90b instancemethod_call (libpython2.7.so.1.0)
#29 0x00000000b75baf3b PyObject_Call (libpython2.7.so.1.0)
#30 0x00000000b75c7453 instance_call (libpython2.7.so.1.0)
#31 0x00000000b75baf3b PyObject_Call (libpython2.7.so.1.0)
#32 0x00000000b765d7bc PyEval_EvalFrameEx (libpython2.7.so.1.0)
#33 0x00000000b765dd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#34 0x00000000b765dd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#35 0x00000000b765dd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#36 0x00000000b765dd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#37 0x00000000b765dd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#38 0x00000000b765dd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#39 0x00000000b7661625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#40 0x00000000b766176b PyEval_EvalCode (libpython2.7.so.1.0)
#41 0x00000000b767bad6 run_mod (libpython2.7.so.1.0)
#42 0x00000000b767cf1b PyRun_FileExFlags (libpython2.7.so.1.0)
#43 0x00000000b767e3a0 PyRun_SimpleFileExFlags (libpython2.7.so.1.0)
#44 0x00000000b767e8e5 PyRun_AnyFileExFlags (libpython2.7.so.1.0)
#45 0x00000000b7691d82 Py_Main (libpython2.7.so.1.0)
#46 0x0000000008048594 main (python2.7)
#47 0x00000000b73cd497 __libc_start_main (libc.so.6)
#48 0x00000000080485c2 _start (python2.7)
Jan 03 18:43:18 arch-server mysqld[7119]: 2016-01-03 18:43:18 2371873600 [Note] InnoDB: Dumping buffer pool(s) not yet started
Jan 03 18:43:18 arch-server mysqld[7119]: 2016-01-03 18:43:18 3046475584 [Note] Plugin 'FEEDBACK' is disabled.
Jan 03 18:43:18 arch-server mysqld[7119]: 2016-01-03 18:43:18 3046475584 [Note] Server socket created on IP: '127.0.0.1'.
Jan 03 18:43:18 arch-server mysqld[7119]: 2016-01-03 18:43:18 3046475584 [Note] /usr/bin/mysqld: ready for connections.output by rdiff-backup:
Sun Jan 3 18:43:10 2016 Processing changed file srv/mysql/ibdata1
Sun Jan 3 18:43:10 2016 Writing file object to /mnt/backup/backups/arch-server-data/srv/mysql/rdiff-backup.tmp.8
Sun Jan 3 18:43:14 2016 Copying attributes from ('srv', 'mysql', 'ibdata1') to /mnt/backup/backups/arch-server-data/srv/mysql/rdiff-backup.tmp.8
Sun Jan 3 18:43:14 2016 Setting time of /mnt/backup/backups/arch-server-data/srv/mysql/rdiff-backup.tmp.8 to 1451842954
Sun Jan 3 18:43:14 2016 Incrementing mirror file /mnt/backup/backups/arch-server-data/srv/mysql/ibdata1
Sun Jan 3 18:43:14 2016 Writing delta /mnt/backup/backups/arch-server-data/srv/mysql/rdiff-backup.tmp.8 from /mnt/backup/backups/arch-server-data/srv/mysql/ibdata1 -> /mnt/backup/backups/arch-server-data/rdiff-backup-data/increments/srv/mysql/ibdata1.2016-01-03T18:11:47+01:00.diff.gz
Sun Jan 3 18:43:14 2016 Getting signature of srv/mysql/rdiff-backup.tmp.8 with blocksize 8800
Sun Jan 3 18:43:15 2016 Writing file object to /mnt/backup/backups/arch-server-data/rdiff-backup-data/increments/srv/mysql/ibdata1.2016-01-03T18:11:47+01:00.diff.gz
./test.sh: line 54: 7110 Segmentation fault (core dumped) /usr/bin/rdiff-backup --terminal-verbosity 9 --verbosity 9 --exclude-sockets --exclude /mnt/data/lost+found --exclude /mnt/data/home/*/.cache --exclude /mnt/data/home/*/.local/share/Trash/files --exclude /mnt/data/home/*/.Trash --exclude /mnt/data/home/*/.last few lines of a log made with strace -Ff -tt <program> <arguments> 2>&1 | tee errorlog.txt :
19:20:54.969647 read(9, "9Z5K\0\0\4\f\0\0\0\0\0\0\0\0\0\0\0\2*m\376W\0\2\0\0\0\0\0\0"..., 65536) = 65536
19:20:54.973357 read(9, "\331\262\267\25\0\0\4\20\0\0\0\0\0\0\0\0\0\0\0\2*k\320\266\0\2\0\0\0\0\0\0"..., 65536) = 65536
19:20:54.977508 read(9, ")5px\0\0\4\24\0\0\0\0\0\0\0\0\0\0\0\2*mA\216\0\2\0\0\0\0\0\0"..., 65536) = 65536
19:20:54.981676 read(9, "\217\217\2\373\0\0\4\30\0\0\0\0\0\0\0\0\0\0\0\2*n\23\32\0\2\0\0\0\0\0\0"..., 65536) = 65536
19:20:54.987203 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x9304644} ---
19:20:55.223726 +++ killed by SIGSEGV (core dumped) +++update:
I see that in the crash at 18:43:15 mysqld is starting up while rdiff-backup is reading its data files. After making sure mysqld is stopped before running rdiff-backup I get no segfault, but shouldn't rdiff-backup be able to handle files that are being written to?
update2:
While backing up a different set of directories I get the segfault as well. Here is the last part of the strace output:
11:30:53.150681 read(8, "", 53248) = 0
11:30:53.150921 read(8, "", 65536) = 0
11:30:53.151140 close(8) = 0
11:30:53.151331 munmap(0xb6c2e000, 4096) = 0
11:30:53.154287 mmap2(NULL, 528384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb670f000
11:30:53.157029 lstat64("/mnt/backup/backups/arch-server-system/usr/bin/php", {st_mode=S_IFREG|0755, st_size=9513272, ...}) = 0
11:30:53.157623 lstat64("/mnt/backup/backups/arch-server-system/rdiff-backup-data/increments/usr/bin/phpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 0xbfe2124c) = -1 ENOENT (No such file or directory)
11:30:53.158093 lstat64("/mnt/backup/backups/arch-server-system/rdiff-backup-data/increments/usr/bin", {st_mode=S_IFDIR|0700, st_size=147456, ...}) = 0
11:30:53.158664 lstat64("/mnt/backup/backups/arch-server-system/rdiff-backup-data/increments/usr/bin/php", 0xbfe2162c) = -1 ENOENT (No such file or directory)
11:30:53.159134 lstat64("/mnt/backup/backups/arch-server-system/usr/bin", {st_mode=S_IFDIR|0755, st_size=57344, ...}) = 0
11:30:53.159697 lstat64("/mnt/backup/backups/arch-server-system/usr/bin/rdiff-backup.tmp.65", 0xbfe2172c) = -1 ENOENT (No such file or directory)
11:30:53.160203 open("/mnt/backup/backups/arch-server-system/usr/bin/php", O_RDONLY|O_LARGEFILE) = 8
11:30:53.160478 fstat64(8, {st_mode=S_IFREG|0755, st_size=9513272, ...}) = 0
11:30:53.160938 open("/mnt/backup/backups/arch-server-system/usr/bin/rdiff-backup.tmp.65", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 10
11:30:53.161325 fstat64(10, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
11:30:53.161675 fstat64(9, {st_mode=S_IFREG|0755, st_size=9186120, ...}) = 0
11:30:53.161909 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6c2e000
11:30:53.162110 read(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\2\0\3\0\1\0\0\0\373h\6\0104\0\0\0"..., 65536) = 65536
11:30:53.171841 read(9, "ouble\0virtual_cwd_activate\0zend_"..., 65536) = 65536
11:30:53.176099 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x904de44} ---
11:30:53.281097 +++ killed by SIGSEGV (core dumped) +++
./rdiff-backup_system.sh: line 50: 25075 Segmentation fault (core dumped) strace -Ff -tt /usr/bin/rdiff-backup --exclude-sockets --exclude /dev --exclude /home --exclude /media --exclude /mnt --exclude /proc --exclude /run --exclude /sys --exclude /tmp --exclude /var --exclude /srv / "$TARGET_LOCATION"update3: Opened a bugreport for rdiff-backup https://bugs.archlinux.org/task/47645
Last edited by rwd (2016-01-06 18:21:30)
Offline
EDIT: Forgot about this: https://wiki.archlinux.org/index.php/Fo … pport_ONLY, sorry. The system which shows these problems is a Raspberry, so I should show myself out...
I'm using duplicity and have the same problem with coredumps after upgrading librsync to 2.0.0-1 some time ago (full system upgrade). Downgrading to 1.0.0-1 also solved the issue for me. So maybe a problem with librysnc?. When doing a full system backup to an external USB drive, I get this duplicity error:
Local and Remote metadata are synchronized, no sync needed.
Last inc backup left a partial set, restarting.
Last full backup date: Mon Jan 4 00:04:17 2016
RESTART: Volumes 2 to 2 failed to upload before termination.
Restarting backup at volume 2.
Restarting after volume 1, file root/.cache/duplicity/6b395f16f9e0dab917e14767c2adec7e/duplicity-full-signatures.20160103T230417Z.sigtar.gz, block 400
/root/backup.sh: line 22: 23005 Segmentation fault (core dumped) duplicity --verbosity notice --full-if-older-than 2M --num-retries 3 --asynchronous-upload --archive-dir /root/.cache/duplicity --log-file /var/log/duplicity.log --allow-source-mismatch --exclude /media --exclude /mnt --exclude /proc --exclude /sys --exclude /tmp --exclude /run --no-encryption "$src" "$dest"Relevant journactl output:
Jan 08 00:03:01 mybox systemd-coredump[23065]: Process 23005 (python2) of user 0 dumped core.
Stack trace of thread 23005:
#0 0x00000000763c7128 rs_search_for_block (librsync.so.2)After downgrading, the backup runs just fine:
Local and Remote metadata are synchronized, no sync needed.
Last inc backup left a partial set, restarting.
Last full backup date: Mon Jan 4 00:04:17 2016
RESTART: Volumes 2 to 2 failed to upload before termination.
Restarting backup at volume 2.
Restarting after volume 1, file root/.cache/duplicity/6b395f16f9e0dab917e14767c2adec7e/duplicity-full-signatures.20160103T230417Z.sigtar.gz, block 400
--------------[ Backup Statistics ]--------------
StartTime 1452247062.50 (Fri Jan 8 10:57:42 2016)
EndTime 1452247810.69 (Fri Jan 8 11:10:10 2016)
ElapsedTime 748.19 (12 minutes 28.19 seconds)
SourceFiles 101533
SourceFileSize 3231275874 (3.01 GB)
NewFiles 5243
NewFileSize 322094741 (307 MB)
DeletedFiles 3917
ChangedFiles 7463
ChangedFileSize 376958295 (359 MB)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 16623
RawDeltaSize 383665534 (366 MB)
TotalDestinationSizeChange 209599637 (200 MB)
Errors 0
-------------------------------------------------Trying a backup to the drive of a random test folder with librsync 2.0.0-1 also gives no errors.
Last edited by kyogen (2016-01-08 10:58:11)
Offline
EDIT: Forgot about this: https://wiki.archlinux.org/index.php/Fo … pport_ONLY, sorry. The system which shows these problems is a Raspberry, so I should show myself out...
Thank you for making me chuckle this morning
Do you have only the Raspberry Pi, or do you also have a regular Arch Linux system that does not have the behavior?
Edit: Leaving this open because I do think it has bearing on Arch Linux
Last edited by ewaller (2016-01-08 16:25:15)
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline
Thank you for making me chuckle this morning smile
You're welcome ![]()
Do you have only the Raspberry Pi, or do you also have a regular Arch Linux system that does not have the behavior?
I also have a desktop system running Arch, but I use duplicity only on the Raspberry for full system backup. I will try if I can reproduce on the desktop.
Offline
I can confirm this issue on ArchLinux 32 bit with duplicity.
jan 08 22:33:42 arch systemd-coredump[12752]: Process 12731 (python2) of user 1005 dumped core.
Stack trace of thread 12731:
#0 0x00000000b6c003fd rs_search_for_block (librsync.so.2)
#1 0x00000000b6bfccfc n/a (librsync.so.2)
#2 0x00000000b6bfdbd4 rs_job_iter (librsync.so.2)
#3 0x00000000b6c1ddfc n/a (_librsync.so)
#4 0x00000000b767bb55 PyCFunction_Call (libpython2.7.so.1.0)
#5 0x00000000b76de777 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#6 0x00000000b76ddd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#7 0x00000000b76e1625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#8 0x00000000b76ddc31 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#9 0x00000000b76ddd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#10 0x00000000b76ddd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#11 0x00000000b76ddd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#12 0x00000000b76e1625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#13 0x00000000b76ddc31 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#14 0x00000000b76e1625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#15 0x00000000b76ddc31 PyEval_EvalFrameEx (libpython2.7.so.1.0)
#16 0x00000000b76ddd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#17 0x00000000b76ddd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#18 0x00000000b76ddd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#19 0x00000000b76ddd1e PyEval_EvalFrameEx (libpython2.7.so.1.0)
#20 0x00000000b76e1625 PyEval_EvalCodeEx (libpython2.7.so.1.0)
#21 0x00000000b76e176b PyEval_EvalCode (libpython2.7.so.1.0)
#22 0x00000000b76fbad6 run_mod (libpython2.7.so.1.0)
#23 0x00000000b76fcf1b PyRun_FileExFlags (libpython2.7.so.1.0)
#24 0x00000000b76fe3a0 PyRun_SimpleFileExFlags (libpython2.7.so.1.0)
#25 0x00000000b76fe8e5 PyRun_AnyFileExFlags (libpython2.7.so.1.0)
#26 0x00000000b7711d82 Py_Main (libpython2.7.so.1.0)
#27 0x0000000008048594 main (python2.7)
#28 0x00000000b744d497 __libc_start_main (libc.so.6)
#29 0x00000000080485c2 _start (python2.7)Edit: Issue has already been reported upstream: https://github.com/librsync/librsync/issues/50
Last edited by klausenbusk (2016-01-08 21:49:12)
Offline