Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upVCPUOP_initialise oops during VM boot #306
Comments
marmarek
assigned
rootkovska
Mar 8, 2015
marmarek
added this to the Release 1 Beta 2 milestone
Mar 8, 2015
marmarek
added
bug
C: kernel
P: major
labels
Mar 8, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
Modified by rafal on 21 Jul 2011 15:52 UTC |
marmarek
unassigned
rootkovska
Mar 8, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Mar 8, 2015
Member
Comment by rafal on 21 Jul 2011 16:24 UTC
This bug is difficult to reproduce (I am currently at XID 568), but the possible bad scenario (a tight race condition), is:
- there is a lot of xen free memory (e.g. a domain has just been destroyed)
- because of 1, qmemman orders domains to increase their memory
- qmemman receives a request for memory to start a new domain. It sees plenty of it, so does nothing.
- because of 2), domains start to use up xen free memory. When the new VM kernel finally boots, there is 0 free xen memory, and VCPUOP_initialise hypercall fails with ENOMEM.
It is unclear how to fix this. Moreover, this scenario is unlikely to occur in real life - probably only quick domain destroy/create cycles can trigger this.
|
Comment by rafal on 21 Jul 2011 16:24 UTC
It is unclear how to fix this. Moreover, this scenario is unlikely to occur in real life - probably only quick domain destroy/create cycles can trigger this. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Mar 8, 2015
Member
Comment by rafal on 22 Jul 2011 13:29 UTC
With the above race fixed, the problem still occurs.
Quite possibly xl child process actions interfere with qmemman. Moving release of qmemman handle past successful qrexec_agent connect allows for 350 successful VM starts.
Fixed at http://git.qubes-os.org/?p=rafal/core.git;a=commit;h=7cfbe1c7d8decada7257c9f9927d4523696e1a8b
prebeta2 branch.
|
Comment by rafal on 22 Jul 2011 13:29 UTC |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
Modified by rafal on 25 Jul 2011 07:43 UTC |
marmarek commentedMar 8, 2015
Reported by rafal on 21 Jul 2011 13:47 UTC
Especially when under cpu load, VM kernel dies with
This line is
Full log below. RAX seems to be -ENOMEM.
Migrated-From: https://wiki.qubes-os.org/ticket/306