Incorrect handling of bad migration #1289

Open
amarao opened this Issue Jun 3, 2013 · 2 comments

Comments

Projects
None yet
2 participants
Contributor

amarao commented Jun 3, 2013

Conditions:

  1. PV domain with enabled memory hotplug support
  2. Grow beyond static-max limit (It not correct for xapi, but problem not here)
  3. non-live migration: xe vm-migrate uuid=... host=samehost

results:

VM terminated (/tmp/xenguest log below). xapi set 'suspended' state for that VM, attempt to resume cause error:
xe vm-resume uuid=3c676a62-b1a3-84bb-b6d0-d5ab3aae2d5e on=samehost
You gave an invalid object reference. The object may have recently been deleted. The class parameter gives the type of reference given, and the handle parameter echoes the bad value given.
class: VDI
handle: OpaqueRef:NULL

/tmp/xenguestDOMID.log:

xenguest helper: debug: Arguments parsed successfully [ /opt/xensource/libexec/xenguest; -controloutfd; 6; -controlinfd; 7; -debuglog; /tmp/xenguest.87.log; -mode; restore; -domid; 87; -fd; 8; -store_port; 1; -console_port; 2; -fork; true ].
xenguest helper: debug: Will fork to capture stdout and stderr from libxenguest
xenguest helper: debug: restore mode selected
xenguest helper: debug: control_write: stderr:xc: detail: d87:xc_domain_restore start: p2m_size = 200000\n
xenguest helper: debug: control_write: stderr:xc: error: d87:Failed to pin batch of 1024 page tables (22 = Invalid argument): Internal error\n
xenguest helper: debug: control_write: stderr:xc: detail: d87:Restore exit with rc=1\n
xenguest helper: debug: Zero-length read on stdout; closing
xenguest helper: debug: Zero-length read on stderr; closing
xenguest helper: debug: Zero-length read on output; closing
xenguest helper: debug: control_write: error:xc_domain_restore 1 d87:Failed to pin batch of 1024 page tables (22 = Invali"

Error during migration:

xe vm-migrate uuid=3c676a62-b1a3-84bb-b6d0-d5ab3aae2d5e host=samehost
The server failed to handle your request, due to an internal error. The given message may give details useful for debugging the problem.
message: File "xapi_xenops.ml", line 1788, characters 3-9: Assertion failed

I think that situation should be handled gracefully without crashing VM to unworking state.

See xen-org#955 for way guest could has more maxmem than static-max.

Owner

jonludlam commented Jun 4, 2013

Agreed. Is this on XCP 1.6?

Contributor

amarao commented Jun 4, 2013

Yep. I think newer version of xapi will have same problem.

Even earlier versions (without xenopsd) has problems with migration of
selfballooned domains (when they grow beyond expected squeezed's target
value).

I think xapi should use actual xc's mem_kb value when sending data to
remote domain, not squeezed/xapi values (mostly because linux in domU is
self-congestion being and capable to adjust own memory without
consulting with external supernatural toolstacks)

04.06.2013 12:00, Jon Ludlam пишет:

Agreed. Is this on XCP 1.6?


Reply to this email directly or view it on GitHub
xen-org#1289 (comment).

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