Odd-length string of type exceptions.TypeError

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Odd-length string of type exceptions.TypeError

Alastair Rankine
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Ben and other rdiff-backup experts.

I had been doing my backups from my MacOS laptop to FreeBSD server  
just fine (both running 1.1.5). I had been running it with --override-
chars-to-quote '' argument and decided to try without this, now that  
1.1.5 supports detecting case sensitive target filesystems.

Short answer: it died with "Odd-length string of type  
exceptions.TypeError". Stack trace below.

As a followup question: it now seems that I can't start the backup at  
all (ie with or without the --override-chars-to-quote argument), as  
it dies with an assertion error. Just wondering if this is a  
secondary symptom of the current failure, or something else?

(I should point out that with this error and the one I previously  
reported ("invalid literal"), the target filesystem hardware is  
slightly suspect, so there's always that explanation to fall back on...)

Any other ideas appreciated.


#### Here's the first error:

alastair $ rdiff-backup -v5 --include-globbing-filelist backup-
includes . claude::/home/backup/al2book/alastair/
Executing ssh -C claude rdiff-backup --server
Unable to import module xattr.
Extended attributes not supported on filesystem at .
Unable to import module posix1e from pylibacl package.
ACLs not supported on filesystem at .
- -----------------------------------------------------------------
Detected abilities for source (read only) file system:
   Access control lists                         Off
   Extended attributes                          Off
   Case sensitivity                             Off
   Mac OS X style resource forks                On
   Mac OS X Finder information                  On
- -----------------------------------------------------------------
Unable to import module xattr.
Extended attributes not supported on filesystem at /home/backup/
al2book/alastair/rdiff-backup-data/rdiff-backup.tmp.0
Unable to import module posix1e from pylibacl package.
ACLs not supported on filesystem at /home/backup/al2book/alastair/
rdiff-backup-data/rdiff-backup.tmp.0
- -----------------------------------------------------------------
Detected abilities for destination (read/write) file system:
   Ownership changing                           Off
   Hard linking                                 On
   fsync() directories                          On
   Directory inc permissions                    Off
   High-bit permissions                         Off
   Extended filenames                           On
   Access control lists                         Off
   Extended attributes                          Off
   Case sensitivity                             On
   Mac OS X style resource forks                Off
   Mac OS X Finder information                  Off
- -----------------------------------------------------------------
Reading globbing filelist backup-includes
Starting increment operation . to /home/backup/al2book/alastair
Processing changed file .
Incrementing mirror file /home/backup/al2book/alastair
Processing changed file .bash_history
Incrementing mirror file /home/backup/al2book/alastair/.bash_history
Processing changed file .emacs
Incrementing mirror file /home/backup/al2book/alastair/.emacs
Processing changed file .emacs.d
Incrementing mirror file /home/backup/al2book/alastair/.emacs.d
Processing changed file .emacs.d/auto-save-list
Incrementing mirror file /home/backup/al2book/alastair/.emacs.d/auto-
save-list
Processing changed file .gnupg
Incrementing mirror file /home/backup/al2book/alastair/.gnupg
Sending back exception Odd-length string of type exceptions.TypeError:
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 335, in answer_request
     result = apply(eval(request.function_string), argument_list)
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 483, in readfromid
     if length is None: return cls.vfiles[id].read()
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
iterfile.py", line 302, in read
     if not self.addtobuffer(): break
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
iterfile.py", line 325, in addtobuffer
     try: currentobj = self.iter.next()
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
backup.py", line 166, in get_sigs
     for src_rorp, dest_rorp in cls.CCPP:
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
backup.py", line 306, in next
     source_rorp, dest_rorp = self.iter.next()
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
rorpiter.py", line 100, in Collate2Iters
     try: relem2 = riter2.next()
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
metadata.py", line 271, in iterate
     try: yield self.record_to_object(record)
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
metadata.py", line 178, in Record2RORP
     else: data_dict['resourcefork'] = binascii.unhexlify(data)

Sending back exception Odd-length string of type exceptions.TypeError:
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 335, in answer_request
     result = apply(eval(request.function_string), argument_list)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 483, in readfromid
     if length is None: return cls.vfiles[id].read()
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
iterfile.py", line 302, in read
     if not self.addtobuffer(): break
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
iterfile.py", line 325, in addtobuffer
     try: currentobj = self.iter.next()
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
backup.py", line 103, in get_diffs
     for dest_sig in dest_sigiter:
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
iterfile.py", line 382, in next
     while not type: type, data = self._get()
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
iterfile.py", line 414, in _get
     if not self.buf: self.buf += self.file.read()
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 516, in read
     return self.connection.VirtualFile.readfromid(self.id, length)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 448, in __call__
     return apply(self.connection.reval, (self.name,) + args)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 370, in reval
     if isinstance(result, Exception): raise result

Sending back exception Odd-length string of type exceptions.TypeError:
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 335, in answer_request
     result = apply(eval(request.function_string), argument_list)
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
backup.py", line 227, in patch_and_increment
     for diff in rorpiter.FillInIter(source_diffiter, dest_rpath):
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
rorpiter.py", line 177, in FillInIter
     for rp in rpiter:
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
iterfile.py", line 382, in next
     while not type: type, data = self._get()
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
iterfile.py", line 414, in _get
     if not self.buf: self.buf += self.file.read()
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 516, in read
     return self.connection.VirtualFile.readfromid(self.id, length)
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 448, in __call__
     return apply(self.connection.reval, (self.name,) + args)
   File "/usr/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 370, in reval
     if isinstance(result, Exception): raise result

Exception 'Odd-length string' raised of class 'exceptions.TypeError':
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 295, in error_check_Main
     try: Main(arglist)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 315, in Main
     take_action(rps)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 271, in take_action
     elif action == "backup": Backup(rps[0], rps[1])
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 334, in Backup
     backup.Mirror_and_increment(rpin, rpout, incdir)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
backup.py", line 51, in Mirror_and_increment
     DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 448, in __call__
     return apply(self.connection.reval, (self.name,) + args)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 370, in reval
     if isinstance(result, Exception): raise result

Traceback (most recent call last):
   File "/opt/local/bin/rdiff-backup", line 23, in ?
     rdiff_backup.Main.error_check_Main(sys.argv[1:])
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 295, in error_check_Main
     try: Main(arglist)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 315, in Main
     take_action(rps)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 271, in take_action
     elif action == "backup": Backup(rps[0], rps[1])
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 334, in Backup
     backup.Mirror_and_increment(rpin, rpout, incdir)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
backup.py", line 51, in Mirror_and_increment
     DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 448, in __call__
     return apply(self.connection.reval, (self.name,) + args)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 370, in reval
     if isinstance(result, Exception): raise result
TypeError: Odd-length string


#### and here is the subsequent error:

alastair $ rdiff-backup -v5 --override-chars-to-quote '' --include-
globbing-filelist backup-includes . claude::/home/backup/al2book/
alastair/
Executing ssh -C claude rdiff-backup --server
Unable to import module xattr.
Extended attributes not supported on filesystem at .
Unable to import module posix1e from pylibacl package.
ACLs not supported on filesystem at .
- -----------------------------------------------------------------
Detected abilities for source (read only) file system:
   Access control lists                         Off
   Extended attributes                          Off
   Case sensitivity                             Off
   Mac OS X style resource forks                On
   Mac OS X Finder information                  On
- -----------------------------------------------------------------
Unable to import module xattr.
Extended attributes not supported on filesystem at /home/backup/
al2book/alastair/rdiff-backup-data/rdiff-backup.tmp.0
Unable to import module posix1e from pylibacl package.
ACLs not supported on filesystem at /home/backup/al2book/alastair/
rdiff-backup-data/rdiff-backup.tmp.0
- -----------------------------------------------------------------
Detected abilities for destination (read/write) file system:
   Ownership changing                           Off
   Hard linking                                 On
   fsync() directories                          On
   Directory inc permissions                    Off
   High-bit permissions                         Off
   Extended filenames                           On
   Access control lists                         Off
   Extended attributes                          Off
   Case sensitivity                             On
   Mac OS X style resource forks                Off
   Mac OS X Finder information                  Off
- -----------------------------------------------------------------
Exception '' raised of class 'exceptions.AssertionError':
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 295, in error_check_Main
     try: Main(arglist)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 315, in Main
     take_action(rps)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 271, in take_action
     elif action == "backup": Backup(rps[0], rps[1])
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 328, in Backup
     backup_final_init(rpout)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 425, in backup_final_init
     checkdest_if_necessary(rpout)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 820, in checkdest_if_necessary
     need_check = checkdest_need_check(dest_rp)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 810, in checkdest_need_check
     if not force: curmir_incs[0].conn.regress.check_pids(curmir_incs)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 448, in __call__
     return apply(self.connection.reval, (self.name,) + args)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 367, in reval
     for arg in args: self._put(arg, req_num)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 139, in _put
     else: self._putobj(obj, req_num)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 144, in _putobj
     self._write("o", pickle.dumps(obj, 1), req_num)
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 1386, in dumps
     Pickler(file, protocol, bin).dump(obj)
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 231, in dump
     self.save(obj)
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 293, in save
     f(self, obj) # Call unbound method with explicit self
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 614, in save_list
     self._batch_appends(iter(obj))
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 647, in _batch_appends
     save(x)
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 293, in save
     f(self, obj) # Call unbound method with explicit self
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 737, in save_inst
     stuff = getstate()
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
rpath.py", line 754, in __getstate__
     assert self.conn is Globals.local_connection

Traceback (most recent call last):
   File "/opt/local/bin/rdiff-backup", line 23, in ?
     rdiff_backup.Main.error_check_Main(sys.argv[1:])
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 295, in error_check_Main
     try: Main(arglist)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 315, in Main
     take_action(rps)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 271, in take_action
     elif action == "backup": Backup(rps[0], rps[1])
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 328, in Backup
     backup_final_init(rpout)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 425, in backup_final_init
     checkdest_if_necessary(rpout)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 820, in checkdest_if_necessary
     need_check = checkdest_need_check(dest_rp)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
Main.py", line 810, in checkdest_need_check
     if not force: curmir_incs[0].conn.regress.check_pids(curmir_incs)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 448, in __call__
     return apply(self.connection.reval, (self.name,) + args)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 367, in reval
     for arg in args: self._put(arg, req_num)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 139, in _put
     else: self._putobj(obj, req_num)
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
connection.py", line 144, in _putobj
     self._write("o", pickle.dumps(obj, 1), req_num)
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 1386, in dumps
     Pickler(file, protocol, bin).dump(obj)
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 231, in dump
     self.save(obj)
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 293, in save
     f(self, obj) # Call unbound method with explicit self
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 614, in save_list
     self._batch_appends(iter(obj))
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 647, in _batch_appends
     save(x)
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 293, in save
     f(self, obj) # Call unbound method with explicit self
   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.4/
lib/python2.4/pickle.py", line 737, in save_inst
     stuff = getstate()
   File "/opt/local/lib/python2.4/site-packages/rdiff_backup/
rpath.py", line 754, in __getstate__
     assert self.conn is Globals.local_connection
AssertionError
Fatal Error: Lost connection to the remote system

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (Darwin)

iEYEARECAAYFAkPeA7cACgkQ9jqa2eRLIcf74wCfcUVKuwjY1i/W7WTxaznR7yvG
71wAn2ahqsBuCv4fi3kWwgKCwFfabKbq
=b2qh
-----END PGP SIGNATURE-----


_______________________________________________
rdiff-backup-users mailing list at [hidden email]
http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users
Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki