Welcome! » Log In » Create A New Profile

OverflowError: long int too large to convert to int&qu

Posted by Anonymous 
OverflowError: long int too large to convert to int&qu
April 18, 2004 11:16PM
Hi!

A few days ago, I started getting these errors once for each backup of
my home directory structure:

Backing up xenocide:/export/home
python: ERROR: (rs_file_copy_cb) seek failed: Invalid argument
python: ERROR: (rs_job_complete) patch job failed: IO error
UpdateError ingwa/.xsession-errors librsync error 100 while in patch cycleBacking up xenocide:/export/home

I got that error a few times, but didn't have time to check it
out. Now instead I get this error:

Backing up xenocide:/export/home
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 24, in ?
rdiff_backup.Main.Main(sys.argv[1:])
File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 250, in Main
take_action(rps)
File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 222, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 264, in Backup
backup.Mirror_and_increment(rpin, rpout, incdir)
File "/usr/lib/python2.2/site-packages/rdiff_backup/backup.py", line 47, in Mirror_and_increment
DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/usr/lib/python2.2/site-packages/rdiff_backup/backup.py", line 220, in patch_and_increment
ITR(diff.index, diff)
File "/usr/lib/python2.2/site-packages/rdiff_backup/rorpiter.py", line 279, in __call__
last_branch.fast_process(*args)
File "/usr/lib/python2.2/site-packages/rdiff_backup/backup.py", line 589, in fast_process
inc = self.inc_with_checking(tf, rp, self.get_incrp(index))
File "/usr/lib/python2.2/site-packages/rdiff_backup/backup.py", line 575, in inc_with_checking
try: inc = increment.Increment(new, old, inc_rp)
File "/usr/lib/python2.2/site-packages/rdiff_backup/increment.py", line 43, in Increment
incrp = makediff(new, mirror, incpref)
File "/usr/lib/python2.2/site-packages/rdiff_backup/increment.py", line 88, in makediff
else: Rdiff.write_delta(new, mirror, diff, compress)
File "/usr/lib/python2.2/site-packages/rdiff_backup/Rdiff.py", line 61, in write_delta
delta.write_from_fileobj(deltafile, compress)
File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 824, in write_from_fileobj
if fp.close() or outfp.close():
File "/usr/lib/python2.2/gzip.py", line 253, in close
write32(self.fileobj, self.size)
File "/usr/lib/python2.2/gzip.py", line 19, in write32
output.write(struct.pack("<l", value))
OverflowError: long int too large to convert to int
Exception zlib.error: 'Error -2 while flushing' in <bound method GzipFile.__del__ of <gzip open file '/export/home/rdiff-backup-data/increments/ingwa/.xsession-errors.2004-04-16T03:33:01+02:00.diff.gz', mode 'wb' at 0x86b1560 0x878b56c>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound method GzipFile.__del__ of <gzip open file '/export/home/rdiff-backup-data/file_statistics.2004-04-17T03:33:02+02:00.data.gz', mode 'wb' at 0x81596c8 0x814178c>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound method GzipFile.__del__ of <gzip open file '/export/home/rdiff-backup-data/mirror_metadata.2004-04-17T03:33:02+02:00.snapshot.gz', mode 'wb' at 0x817d130 0x817d97c>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in
<bound method GzipFile.__del__ of <gzip open file
'/export/home/rdiff-backup-data/error_log.2004-04-17T03:33:02+02:00.data.gz',
mode 'wb' at 0x828b490 0x828b474>> ignored

This happends each time I try again (i.e. even when rdiff-backup tries
to regress the failed backup).

Any ideas on this? rdiff-backup 0.12.6-1 from rpm running on Fedora
Core 1, source (ro) directory mounted via NFS, destination (rw)
directory is local ext3 filesystem. Librsync is librsync-0.9.6-0.fdr.4
(also from RPM).

EF
--
Erik Forsberg Telephone: +46-13-21 46 00
Cendio AB Web: http://www.cendio.com
OverflowError: long int too large to convert to int&qu
April 19, 2004 01:50AM
[quote]A few days ago, I started getting these errors once for each backup of
my home directory structure:

OverflowError: long int too large to convert to int
[/quote]
I'm seeing the same. It looks like rdiff-backup has problems with large files.
I had a 3.2 GB file lying around on which it choked. After deleting it
everything went as normal again.

--
Maik Schreiber * http://www.blizzy.de

GPG public key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x1F11D713
Key fingerprint: CF19 AFCE 6E3D 5443 9599 18B5 5640 1F11 D713
OverflowError: long int too large to convert to int&qu
April 19, 2004 05:25AM
Erik Forsberg wrote:

[quote]Any ideas on this? rdiff-backup 0.12.6-1 from rpm running on Fedora
Core 1, source (ro) directory mounted via NFS, destination (rw)
directory is local ext3 filesystem. Librsync is librsync-0.9.6-0.fdr.4
(also from RPM).

[/quote]
can you try it without NFS in the way?

dave
OverflowError: long int too large to convert to int&qu
April 19, 2004 06:43AM
Maik Schreiber <blizzy < at > blizzy.de> writes:

[quote][quote]A few days ago, I started getting these errors once for each backup of
my home directory structure:

OverflowError: long int too large to convert to int
[/quote]
I'm seeing the same. It looks like rdiff-backup has problems with large files.
I had a 3.2 GB file lying around on which it choked. After deleting it
everything went as normal again.
[/quote]
Hmm.. It turned out that the file (/home/ingwa/.xsession-errors) on
the backup destination was 6.9Gigabytes. Not really what you'd expect
from that particular file..

Anyway, how do I recover? My initial idea was to remove the file on
the destination directory, and then do:

mv rdiff-backup.tmp.8385 .xsession-errors

(rdiff-backup.tmp.8385 was obviously a .xsession-errors file in
disguise).

I then ran rdiff-backup --check-destination, but got the following
error:

[root < at > shadow root]# rdiff-backup --check-destination /export/home/
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 24, in ?
rdiff_backup.Main.Main(sys.argv[1:])
File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 250, in Mai
n
take_action(rps)
File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 232, in tak
e_action
elif action == "check-destination-dir": CheckDest(rps[0])
File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 618, in Che
ckDest
dest_rp.conn.regress.Regress(dest_rp)
File "/usr/lib/python2.2/site-packages/rdiff_backup/regress.py", line 70, in R
egress
for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index, rf)
File "/usr/lib/python2.2/site-packages/rdiff_backup/rorpiter.py", line 279, in
__call__
last_branch.fast_process(*args)
File "/usr/lib/python2.2/site-packages/rdiff_backup/regress.py", line 233, in
fast_process
if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
File "/usr/lib/python2.2/site-packages/rdiff_backup/regress.py", line 255, in
restore_orig_regfile
tf.write_from_fileobj(rf.get_restore_fp())
File "/usr/lib/python2.2/site-packages/rdiff_backup/restore.py", line 456, in
get_restore_fp
Rdiff.write_patched_fp(current_fp, delta_fp, new_fp)
File "/usr/lib/python2.2/site-packages/rdiff_backup/Rdiff.py", line 65, in wri
te_patched_fp
rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp), out_fp)
File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 58, in cop
yfileobj
inbuf = inputfp.read(blocksize)
File "/usr/lib/python2.2/site-packages/rdiff_backup/librsync.py", line 76, in
read
self._add_to_outbuf_once()
File "/usr/lib/python2.2/site-packages/rdiff_backup/librsync.py", line 85, in
_add_to_outbuf_once
if not self.infile_eof: self._add_to_inbuf()
File "/usr/lib/python2.2/site-packages/rdiff_backup/librsync.py", line 95, in
_add_to_inbuf
new_in = self.infile.read(blocksize)
File "/usr/lib/python2.2/gzip.py", line 163, in read
self._read(readsize)
File "/usr/lib/python2.2/gzip.py", line 227, in _read
self._read_eof()
File "/usr/lib/python2.2/gzip.py", line 243, in _read_eof
isize = read32(self.fileobj)
File "/usr/lib/python2.2/gzip.py", line 27, in read32
return struct.unpack("<l", input.read(4))[0]
struct.error: unpack str size does not match format

Now I instead tried to remove the .xsession-errors completely, which
gave me the following:

[root < at > shadow root]# rdiff-backup --check-destination /export/home
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 24, in ?
rdiff_backup.Main.Main(sys.argv[1:])
File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 250, in Mai
n
take_action(rps)
File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 232, in tak
e_action
elif action == "check-destination-dir": CheckDest(rps[0])
File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 618, in Che
ckDest
dest_rp.conn.regress.Regress(dest_rp)
File "/usr/lib/python2.2/site-packages/rdiff_backup/regress.py", line 70, in R
egress
for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index, rf)
File "/usr/lib/python2.2/site-packages/rdiff_backup/rorpiter.py", line 279, in
__call__
last_branch.fast_process(*args)
File "/usr/lib/python2.2/site-packages/rdiff_backup/regress.py", line 233, in
fast_process
if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
File "/usr/lib/python2.2/site-packages/rdiff_backup/regress.py", line 261, in
restore_orig_regfile
rf.mirror_rp.write_from_fileobj(rf.get_restore_fp())
File "/usr/lib/python2.2/site-packages/rdiff_backup/restore.py", line 450, in
get_restore_fp
current_fp = self.get_first_fp()
File "/usr/lib/python2.2/site-packages/rdiff_backup/restore.py", line 465, in
get_first_fp
if not first_inc.isinccompressed(): return first_inc.open("rb")
File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 802, in op
en
else: return open(self.path, mode)
IOError: [Errno 2] No such file or directory: '/export/home/ingwa/.xsession-erro
rs'

I guess now that've broken the golden rule: "DO NOT TAMPER WITH THE
DESTINATION DIRECTORY", I'm damned?

EF
--
Erik Forsberg Telephone: +46-13-21 46 00
Cendio AB Web: http://www.cendio.com
Sorry, only registered users may post in this forum.

Click here to login