New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backup and restore errors #764

Closed
marmarek opened this Issue Mar 8, 2015 · 6 comments

Comments

Projects
None yet
1 participant
@marmarek
Member

marmarek commented Mar 8, 2015

Reported by marmarek on 23 Dec 2013 15:54 UTC
The new tools needs more testing.

Example of noticed exception during backup restore from AppVM:

AttributeError: 'NoneType' object has no attribute 'read'
at line 213
of file /usr/lib64/python2.7/site-
packages/qubesmanager/restore.py.

----
line: backup_source,vmproc.stderr.read()))
func: restore_vm_dirs
line no.: 882
file: /usr/lib64/python2.7/site-packages/qubes/backup.py
----
line:appvm=appvm)
func: backup_restore_header
line no.: 962
file: /usr/lib64/python2.7/site-packages/qubes/backup.py
----
line: appvm=self.target_appvm)
func: __fill_vms_list__
line no.: 137
file: /usr/lib64/python2.7/site-packages/qubesmanager/restore.py
----
line: self.__fill_vms_list__()
func: current_page_changed
line no.: 213
file: /usr/lib64/python2.7/site-packages/qubesmanager/restore.py

Migrated-From: https://wiki.qubes-os.org/ticket/764

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by joanna on 26 Dec 2013 11:30 UTC

Member

marmarek commented Mar 8, 2015

Modified by joanna on 26 Dec 2013 11:30 UTC

@marmarek marmarek added P: critical and removed P: major labels Mar 8, 2015

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by joanna on 26 Dec 2013 13:01 UTC

Member

marmarek commented Mar 8, 2015

Modified by joanna on 26 Dec 2013 13:01 UTC

@marmarek marmarek added this to the Release 2 Beta 3 milestone Mar 8, 2015

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by marmarek on 29 Dec 2013 02:22 UTC
This particular error was because of wrong path to the backup. And because of bug in error handling this ended up with exception instead of nice message. Fixed here:
http://git.qubes-os.org/?p=marmarek/core-admin.git;a=commit;h=994e963ab88f618b7b4640fbd91101e2bbf7ea93

Member

marmarek commented Mar 8, 2015

Comment by marmarek on 29 Dec 2013 02:22 UTC
This particular error was because of wrong path to the backup. And because of bug in error handling this ended up with exception instead of nice message. Fixed here:
http://git.qubes-os.org/?p=marmarek/core-admin.git;a=commit;h=994e963ab88f618b7b4640fbd91101e2bbf7ea93

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by marmarek on 9 Jan 2014 13:34 UTC
Some mysterious errors:

  1. tar2qfile.c - lseek sometimes exits with EAGAIN, which isn't mentioned as possible error of this syscall anywhere. I've added the code to retry 3 times, then fallback to read (ignoring the data).
  2. backup.py:780: pipe.close() sometimes fails wit EPIPE. This closes pipe which is input to the final "tar x" (this tar merges multi-volume archive and handles sparseness). EPIPE here means that tar closed its reading end of the pipe, which should mean end of the current volume, but apparently some data left in the output buffer of the pipe (which close() tried to flush). Perhaps some padding or so... I've added the code to ignore this error, in any case we are monitoring exit codes of all the processes involved in backup restore.

Both happened while restoring backup in new format, encrypted, from AppVM, which have device mapper device attached from dom0, where it was USB3 disk. Ok, some diagram:
USB3 disk -> dom0 -> LVM -> xl block-attach -> AppVM
then: AppVM -> tar2qfile -> dom0 -> qfile-unpacker -> openssl decryption -> tar

Member

marmarek commented Mar 8, 2015

Comment by marmarek on 9 Jan 2014 13:34 UTC
Some mysterious errors:

  1. tar2qfile.c - lseek sometimes exits with EAGAIN, which isn't mentioned as possible error of this syscall anywhere. I've added the code to retry 3 times, then fallback to read (ignoring the data).
  2. backup.py:780: pipe.close() sometimes fails wit EPIPE. This closes pipe which is input to the final "tar x" (this tar merges multi-volume archive and handles sparseness). EPIPE here means that tar closed its reading end of the pipe, which should mean end of the current volume, but apparently some data left in the output buffer of the pipe (which close() tried to flush). Perhaps some padding or so... I've added the code to ignore this error, in any case we are monitoring exit codes of all the processes involved in backup restore.

Both happened while restoring backup in new format, encrypted, from AppVM, which have device mapper device attached from dom0, where it was USB3 disk. Ok, some diagram:
USB3 disk -> dom0 -> LVM -> xl block-attach -> AppVM
then: AppVM -> tar2qfile -> dom0 -> qfile-unpacker -> openssl decryption -> tar

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by marmarek on 15 Jan 2014 04:58 UTC
Many more bugs fixes, but I'll still leave this ticket open and do some more testing.

Member

marmarek commented Mar 8, 2015

Comment by marmarek on 15 Jan 2014 04:58 UTC
Many more bugs fixes, but I'll still leave this ticket open and do some more testing.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by joanna on 23 Jan 2014 12:44 UTC
When new bugs are discovered we can create a new, specific ticket for this. Closing this one.

Member

marmarek commented Mar 8, 2015

Comment by joanna on 23 Jan 2014 12:44 UTC
When new bugs are discovered we can create a new, specific ticket for this. Closing this one.

@marmarek marmarek closed this Mar 8, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment