Bug 413971 - rdiff-backup crashes on x86_64
Summary: rdiff-backup crashes on x86_64
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: rdiff-backup
Version: 8
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Gavin Henry
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-12-06 14:19 UTC by Thomas J. Baker
Modified: 2008-12-17 21:28 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2008-12-17 21:28:00 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Thomas J. Baker 2007-12-06 14:19:52 UTC
I've been doing this same type of backup using the same script since FC6 and now
with F8 x86_64, it crashes with an overflow. This happens on two different
similiarly configured systems.

[root@neuromancer rdiff-backup]# /etc/cron.daily/doBackup 
set OPTS=--print-statistics
set BACKUPDIR=/space/backup/rdiff-backup/neuromancer.f8
rdiff-backup --print-statistics --include /home --include /etc --exclude
/var/cache --exclude /var/log/lastlog --exclude /var/lib/nfs/ --include /var
--exclude / / /space/backup/rdiff-backup/neuromancer.f8
Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 23, in <module>
    rdiff_backup.Main.Main(sys.argv[1:])
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/Main.py", line 285, in Main
    take_action(rps)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/Main.py", line 255, in
take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/Main.py", line 308, in
Backup
    backup.Mirror(rpin, rpout)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/backup.py", line 38, in
Mirror
    DestS.patch(dest_rpath, source_diffiter)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/backup.py", line 218, in
patch
    ITR(diff.index, diff)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/rorpiter.py", line 285,
in __call__
    last_branch.fast_process(*args)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/backup.py", line 490, in
fast_process
    if self.patch_to_temp(rp, diff_rorp, tf):
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/backup.py", line 517, in
patch_to_temp
    rpath.copy_attribs(diff_rorp, new)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/rpath.py", line 155, in
copy_attribs
    if Globals.change_ownership: rpout.chown(*user_group.map_rpath(rpin))
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/rpath.py", line 790, in
chown
    else: os.chown(self.path, uid, gid)
OverflowError: signed integer is greater than maximum
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/access_control_lists.2007-12-06T08:47:39-05:00.snapshot.gz',
mode 'wb' at 0x2aaab20c0120 0x2aaab20bcf80>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/extended_attributes.2007-12-06T08:47:39-05:00.snapshot.gz',
mode 'wb' at 0x2aaab20c00a8 0x2aaab20bcef0>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/file_statistics.2007-12-06T08:47:39-05:00.data.gz',
mode 'wb' at 0x2aaab20c0030 0x2aaab20bc248>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/error_log.2007-12-06T08:47:39-05:00.data.gz',
mode 'wb' at 0x2aaab20b8990 0x2aaab20badd0>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/mirror_metadata.2007-12-06T08:47:39-05:00.snapshot.gz',
mode 'wb' at 0x2aaab20b8e40 0x2aaab20bc0e0>> ignored
rdiff-backup --force --remove-older-than 6M
/space/backup/rdiff-backup/neuromancer.f8
No increments older than Sat Jun  9 10:10:24 2007 found, exiting.
[root@neuromancer rdiff-backup]# 

I'll do more tests with more verbosity to see where in the filesystem this is
happening. Maybe some area of F8 is recursively linked.

Comment 1 Thomas J. Baker 2007-12-06 15:53:12 UTC
Here's the end of a verbosity 9 backup. Seems like it's a real error:

Thu Dec  6 10:51:20 2007  Processing changed file var/spool/mail/nfsnobody
Thu Dec  6 10:51:20 2007  Regular copying ('var', 'spool', 'mail', 'nfsnobody')
to /space/backup/rdiff-backup/neuromancer.f8/var/spool/mail/rdiff-backup.tmp.173117
Thu Dec  6 10:51:20 2007  Writing file object to
/space/backup/rdiff-backup/neuromancer.f8/var/spool/mail/rdiff-backup.tmp.173117
Thu Dec  6 10:51:20 2007  Copying attributes from ('var', 'spool', 'mail',
'nfsnobody') to
/space/backup/rdiff-backup/neuromancer.f8/var/spool/mail/rdiff-backup.tmp.173117
Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 23, in <module>
    rdiff_backup.Main.Main(sys.argv[1:])
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/Main.py", line 285, in Main
    take_action(rps)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/Main.py", line 255, in
take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/Main.py", line 308, in
Backup
    backup.Mirror(rpin, rpout)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/backup.py", line 38, in
Mirror
    DestS.patch(dest_rpath, source_diffiter)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/backup.py", line 218, in
patch
    ITR(diff.index, diff)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/rorpiter.py", line 285,
in __call__
    last_branch.fast_process(*args)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/backup.py", line 490, in
fast_process
    if self.patch_to_temp(rp, diff_rorp, tf):
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/backup.py", line 517, in
patch_to_temp
    rpath.copy_attribs(diff_rorp, new)
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/rpath.py", line 155, in
copy_attribs
    if Globals.change_ownership: rpout.chown(*user_group.map_rpath(rpin))
  File "/usr/lib64/python2.5/site-packages/rdiff_backup/rpath.py", line 790, in
chown
    else: os.chown(self.path, uid, gid)
OverflowError: signed integer is greater than maximum
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/access_control_lists.2007-12-06T09:24:56-05:00.snapshot.gz',
mode 'wb' at 0x2aaab20c0120 0x2aaab20bcf80>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/extended_attributes.2007-12-06T09:24:56-05:00.snapshot.gz',
mode 'wb' at 0x2aaab20c00a8 0x2aaab20bcef0>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/file_statistics.2007-12-06T09:24:56-05:00.data.gz',
mode 'wb' at 0x2aaab20c0030 0x2aaab20bc248>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/error_log.2007-12-06T09:24:56-05:00.data.gz',
mode 'wb' at 0x2aaab20b8990 0x2aaab20badd0>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound
method GzipFile.__del__ of <gzip open file
'/space/backup/rdiff-backup/neuromancer.f8/rdiff-backup-data/mirror_metadata.2007-12-06T09:24:56-05:00.snapshot.gz',
mode 'wb' at 0x2aaab20b8e40 0x2aaab20bc0e0>> ignored
[root@neuromancer rdiff-backup]# 



Comment 2 Kevin Fenzi 2007-12-07 18:07:27 UTC
Can you provide the output of 'stat var/spool/mail/nfsnobody' ?

I suspect rdiff-backup is making a incorrect assumption about the possible
values of uid/gid. 



Comment 3 Thomas J. Baker 2007-12-07 18:40:49 UTC
raptor> sudo stat /var/spool/mail/nfsnobody
  File: `/var/spool/mail/nfsnobody'
  Size: 0               Blocks: 8          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 1245704     Links: 1
Access: (0660/-rw-rw----)  Uid: (4294967294/nfsnobody)   Gid: (   12/    mail)
Access: 2007-12-07 04:13:21.000000000 -0500
Modify: 2007-11-08 16:42:17.000000000 -0500
Change: 2007-11-08 16:42:17.000000000 -0500
raptor> 


Comment 4 Thomas J. Baker 2008-01-08 14:41:49 UTC
Any hope of getting this fixed? I've got no backups since switching to F8.

Comment 5 Thomas J. Baker 2008-01-08 15:16:36 UTC
Nevermind. Your assumption in #2 seems to be correct. By excluding
/var/spool/mail/nfsnobody, it works fine.

Comment 6 Kevin Fenzi 2008-01-16 06:26:05 UTC
This seems to be a python bug... see: 
http://savannah.nongnu.org/bugs/?17851

for the rdiff-backup bug, and there is apparently a upstream python bug also
about it. I'll try and get some movement upstream on this. 

Comment 7 Bug Zapper 2008-11-26 08:52:06 UTC
This message is a reminder that Fedora 8 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 8.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '8'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 8's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 8 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 8 Kevin Fenzi 2008-12-02 06:20:14 UTC
This bug will be fixed in 2.5.3 python and later. 

http://svn.python.org/view?rev=61542&view=rev

Unfortunately, that means it's still happening on all stable releases. 
Soon python 2.6.0 will be in rawhide and it should be fixed there.

Comment 9 Kevin Fenzi 2008-12-15 22:18:38 UTC
2.6.0 is in rawhide now. 

Thomas: Can you test this in rawhide? 
Or, failing that, does the exclude workaround work well enough for you now to close this?

Comment 10 Thomas J. Baker 2008-12-17 20:32:38 UTC
The exclude workaround has worked for me for January (comment #5). I'll see if it works without the exclude in rawhide but you can close it anyway.

Comment 11 Kevin Fenzi 2008-12-17 21:28:00 UTC
ok. Will do. 

Please reopen this if you spot additional issues or file a new bug. 

Thanks!


Note You need to log in before you can comment on or make changes to this bug.