Failed to start or migration UEFI Windows Virtual Machine

Failed to start or migration UEFI Windows Virtual Machine

book

Article ID: CTX453675

calendar_today

Updated On:

Description

VM.pool_migrate and /or VM.start call failed due to EMFILE error:

-------------------------------------------------
varstored-guard: [error||0 ||backtrace] Raised Unix.Unix_error(Unix.EMFILE, "socket", "")
-------------------------------------------------

EMFILE: too many files open error.

Resolution

Workaround:

The current number in use can be checked by looking at:

-------------------------------------------------
$ ls /proc/$(pidof varstored-guard)/fd | wc -l
-------------------------------------------------

and if that number gets close to 4000 to restart toolstack:

-------------------------------------------------
$ xe-toolstack-restart
-------------------------------------------------

Hotfix XS82ECU1011 has been released for this issue, please download and apply the following hotfix to fix this issue:

https://support.citrix.com/article/CTX463430

Problem Cause

The problem is that varstored-guard is running out of file descriptors; it can use up to 4096 before it runs out.
The number of file descriptors should increase slowly because one leaks every time a VM with UEFI (i.e. a Windows VM) is started on a host, resumed, or migrated to. These are relatively rare events.