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

Error when attempting to restore 3.2 backups on 4.0 after updating Qubes Manager to current-testing #3804

Closed
andrewdavidwong opened this Issue Apr 8, 2018 · 2 comments

Comments

Projects
None yet
3 participants
@andrewdavidwong
Member

andrewdavidwong commented Apr 8, 2018

The following bug report is submitted on behalf of Achim Patzner.


Qubes OS version:

R4.0

Affected component(s):

Qubes Manager


Steps to reproduce the behavior:

I (accidentally) updated Qubes 4.0 to current-testing as Qubes-Manager did not permit me to edit the VMs I restored from my 3.2 backups.

Expected behavior:

Qubes to be working.

Actual behavior:

Trying to fill the list I'm getting exactly one VM name followed by a pop-up

Whoops. A critical error has occured. This is most likely a bug in Qubes Manager.
Whoops. A critical error has occured. This is most likely a bug in Qubes Manager.KeyError: 17at line 487of file /usr/lib/python3.5/site-packages/qubesmanager/qube_manager.py.Details:---line: assert self.vms_in_table[qid] is not Nonefunc: get_selected_vmline no.: 557file: /usr/lib/python3.5/site-packages/qubesmanager/qube_manager.py----line: vm = self.get_selected_vm()func: table_selection_changedline no.: 487file: /usr/lib/python3.5/site-packages/qubesmanager/qube_manager.py

followed by a second one

Whoops. A critical error has occured. This is most likely a bug in Qubes Manager.QubesDaemonNoResponseError: Got empty response from qubesd. See journalctl in dom0 for details.at line 888of file /usr/lib/python3.5/site-packages/qubesmanager/qube_manager.py.----line: 'Got empty response from qubesd. See journalctl in dom0 for 'func: _parse_qubesd_responseline no.: 81file: /usr/lib/python3.5/site-packages/qubesadmin/base.py----line: return self._parse_qubesd_response(return_data)func: qubesd_callline no.: 483file: /usr/lib/python3.5/site-packages/qubesadmin/app.py----line: payload_stream=payload_stream)func: _qubesd_callline no.: 76file: /usr/lib/python3.5/site-packages/qubesadmin/storage.py----line: info = self._qubesd_call('Info')func: _fetch_infoline no.: 87file: /usr/lib/python3.5/site-packages/qubesadmin/storage.py----line: self._fetch_info(True)func: is_outdatedline no.: 190file:
/usr/lib/python3.5/site-packages/qubesadmin/storage.py----line: if vol.is_outdated():func: update_outdatedline no.: 381file: /usr/lib/python3.5/site-packages/qubesmanager/table_widgets.py----line: self.update_outdated(vm)func: __init__line no.: 374file: /usr/lib/python3.5/site-packages/qubesmanager/table_widgets.py----line: self.upd_info = VmUpdateInfoWidget(vm, show_text=False)func: __init__ZZline no.: 234file: /usr/lib/python3.5/site-packages/qubesmanager/table_widgets.py----line: self.info_widget = table_widgets.VmInfoWidget(vm)func: __init__line no.: 97file: /usr/lib/python3.5/site-packages/qubesmanager/qube_manager.py----line: vm_row = VmRowInTable(vm, row_no, self.table)func: fill_tablefile: /usr/lib/python3.5/site-packages/qubesmanager/qube_manager.py----line: self.fill_table()func: update_tableline no.: 465file:
/usr/lib/python3.5/site-packages/qubesmanager/qube_manager.py----line: self.update_table()func: action_refresh_list_triggeredline no.: 888file: /usr/lib/python3.5/site-packages/qubesmanager/qube_manager.py

Taking a look at the system log shows one interesting block ("BNC-Office" is one of the restored Qubes 3.2 machines, in this case a Windows 7 HVM):

Apr 08 11:37:41 dom0 qubesd[2548]: unhandled exception while calling src=b'dom0' meth=b'admin.vm.volume.Info' dest=b'BNC-Office' arg=b'private' len(untrusted_payload)=0
Apr 08 11:37:41 dom0 qubesd[2548]: Traceback (most recent call last):
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib/python3.5/site-packages/qubes/api/__init__.py", line 262, in respond
Apr 08 11:37:41 dom0 qubesd[2548]:  untrusted_payload=untrusted_payload)
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib64/python3.5/asyncio/futures.py", line 381, in __iter__
Apr 08
11:37:41 dom0 qubesd[2548]:  yield self  # This tells Task to wait for completion.
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib64/python3.5/asyncio/tasks.py", line 310, in _wakeup
Apr 08 11:37:41 dom0 qubesd[2548]:  future.result()
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib64/python3.5/asyncio/futures.py", line 294, in result
Apr 08 11:37:41 dom0 qubesd[2548]:  raise self._exception
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib64/python3.5/asyncio/tasks.py", line 240, in _step
Apr 08 11:37:41 dom0 qubesd[2548]:  result = coro.send(None)
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib64/python3.5/asyncio/coroutines.py", line 210, in coro
Apr 08 11:37:41 dom0 qubesd[2548]:  res = func(*args, **kw)
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib/python3.5/site-packages/qubes/api/admin.py", line 348, in vm_volume_info
Apr 08 11:37:41 dom0 qubesd[2548]:  for key in
volume_properties)
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib/python3.5/site-packages/qubes/api/admin.py", line 348, in <genexpr>
Apr 08 11:37:41 dom0 qubesd[2548]:  for key in volume_properties)
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib/python3.5/site-packages/qubes/api/admin.py", line 343, in _serialize
Apr 08 11:37:41 dom0 qubesd[2548]:  value = value()
Apr 08 11:37:41 dom0 qubesd[2548]:  File "/usr/lib/python3.5/site-packages/qubes/storage/__init__.py", line 238, in is_outdated
Apr 08 11:37:41 dom0 qubesd[2548]:  raise self._not_implemented("is_outdated")
Apr 08 11:37:41 dom0 qubesd[2548]: NotImplementedError: Volume FileVolume has is_outdated() not implemented

It seems we need a mechanism to make restored Qubes 3.x-machines usable in Qubes 4.0.

General notes:

I guess I shot myself in the foot quit thoroughly. At home I did a qubes-dom0-update --enablerepo=qubes-dom0-current-testing to see what's there but refused the installation of anything. But of course the files were downloaded... Now I did a qubes-dom0-upgrade (no further parameters) and without thinking confirmed the installation of everything in the cache. Qubes-Manager ceased to function.


Related issues:

None found.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Apr 8, 2018

Member

This looks like a duplicate of #3767

Member

marmarek commented Apr 8, 2018

This looks like a duplicate of #3767

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong Apr 8, 2018

Member

Duplicate of #3767

Member

andrewdavidwong commented Apr 8, 2018

Duplicate of #3767

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