getting "OverflowError: signed integer is greater than maximum"

Bug #245844 reported by greenmoss on 2008-07-05
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
rdiff-backup (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: rdiff-backup

Couldn't get reportbug to work, so submitting here instead:

Package: rdiff-backup
Version: 1.1.15-1
Severity: important

*** Please type your report below this line ***

I just installed Hardy amd64 in place of a previous 32-bit Debian instance. Now rdiff-backup is having problems:

Traceback (most recent call last):
 File "/usr/bin/rdiff-backup", line 23, in <module>
   rdiff_backup.Main.error_check_Main(sys.argv[1:])
 File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 302, in error_check_Main
   try: Main(arglist)
 File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 322, in Main
   take_action(rps)
 File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 278, in take_action
   elif action == "backup": Backup(rps[0], rps[1])
 File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 341, in Backup
   backup.Mirror_and_increment(rpin, rpout, incdir)
 File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 51, in Mirror_and_increment
   DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
 File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 243, in patch_and_increment
   ITR(diff.index, diff)
 File "/var/lib/python-support/python2.5/rdiff_backup/rorpiter.py", line 281, in __call__
   last_branch.fast_process(*args)
 File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 689, in fast_process
   if self.patch_to_temp(mirror_rp, diff_rorp, tf):
 File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 556, in patch_to_temp
   rpath.copy_attribs(diff_rorp, new)
 File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line 176, in copy_attribs
   rpout.chown(*rpout.conn.user_group.map_rpath(rpin))
 File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line 903, in chown
   else: os.chown(self.path, uid, gid)
OverflowError: signed integer is greater than maximum

Looking around the net, this looks like some kind of 64-bit problem with odd uid's/gid's. According to this link, there is a workaround/patch for this problem:

http://osdir.com/ml/sysutils.backup.rdiff-backup.general/2005-04/msg00031.html

But the updates suggested here are already in place.

-- System Information:
Debian Release: lenny/sid
  APT prefers hardy-updates
  APT policy: (500, 'hardy-updates'), (500, 'hardy-security'), (500, 'hardy')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24-16-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages rdiff-backup depends on:
ii libc6 2.7-10ubuntu3 GNU C Library: Shared libraries
ii librsync1 0.9.7-1build1 Library which implements the rsync
ii python 2.5.2-0ubuntu1 An interactive high-level object-o
ii python-support 0.7.5ubuntu1 automated rebuilding support for p

Versions of packages rdiff-backup recommends:
pn python-pylibacl <none> (no description available)
pn python-pyxattr <none> (no description available)

-- no debconf information

Andrew Ferguson (adferguson) wrote :

This is due to a bug in Python, which was finally fixed in March 2008.

http://bugs.python.org/issue1747858

The bug fix will be a part of Python 2.5.3 and above.

Andrew Ferguson (adferguson) wrote :

Python bug with fix committed to SVN in March 2008. Bug will be fixed in Python releases 2.5.3 and above.

Changed in rdiff-backup:
status: New → Fix Committed

Fixed in jaunty.

Changed in rdiff-backup:
status: Fix Committed → Fix Released
Collin Stocks (collinstocks) wrote :
Download full text (4.7 KiB)

I would like to reopen this bug for Lucid. I have pasted the output at the default verbosity below. Let me know if more information is needed. The error seems to be the same, although the output is different, perhaps due to some changes in the source.

As with the previous report, I am also running on a 64-bit machine (Python version 2.6.5).

Exception 'signed integer is greater than maximum' raised of class '<type 'exceptions.OverflowError'>':
  File "/usr/lib/pymodules/python2.6/rdiff_backup/robust.py", line 32, in check_common_error
    try: return function(*args)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 118, in copy
    rpout.makedev("b", major, minor)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 1260, in makedev
    try: self.conn.os.mknod(self.path, mode, self.conn.os.makedev(major, minor))

Exception 'signed integer is greater than maximum' raised of class '<type 'exceptions.OverflowError'>':
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 324, in Main
    take_action(rps)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 280, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 346, in Backup
    backup.Mirror(rpin, rpout)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/backup.py", line 38, in Mirror
    DestS.patch(dest_rpath, source_diffiter)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/backup.py", line 232, in patch
    ITR(diff.index, diff)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/rorpiter.py", line 281, in __call__
    last_branch.fast_process(*args)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/backup.py", line 529, in fast_process
    if self.patch_to_temp(mirror_rp, diff_rorp, tf):
  File "/usr/lib/pymodules/python2.6/rdiff_backup/backup.py", line 553, in patch_to_temp
    result = self.patch_snapshot_to_temp(diff_rorp, new)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/backup.py", line 577, in patch_snapshot_to_temp
    self.write_special(diff_rorp, new)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/backup.py", line 617, in write_special
    if robust.check_common_error(eh, rpath.copy, (diff_rorp, new)) == 0:
  File "/usr/lib/pymodules/python2.6/rdiff_backup/robust.py", line 32, in check_common_error
    try: return function(*args)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 118, in copy
    rpout.makedev("b", major, minor)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 1260, in makedev
    try: self.conn.os.mknod(self.path, mode, self.conn.os.makedev(major, minor))

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 30, in <module>
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main
    try: Main(arglist)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 324, in Main
    take_action(rps)
  File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 280, in take_act...

Read more...

Collin Stocks (collinstocks) wrote :

A workaround seems to be to use --exclude-device-files, though this means that the backup will be incomplete.

I suspect that the problem occurs during the backup of .gvfs or .wine from my home directory, since those both contain links of some sort, though I have not tested this theory.

robalrr (robalrr) wrote :

Hi I have the following error using python and gnu-plot

OverflowError: signed integer is greater than maximum
I tried to define
 g.set_range("xrange", long(33359256570, long(data[len(data)-1][0])))
and
long(data[len(data)-1][0]) is a big number.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.