CheckpointOpenFileException for /var/lib/sss/mc/passwd
akozlov at azul.com
Tue Jan 25 10:30:48 UTC 2022
On 1/20/22 19:04, Ashutosh Mehra wrote:
> While trying C/R using CRaC build on my linux system (RHEL 8 based), I
> encountered this exception:
Thanks for sharing. We've met with the problem some time ago, and used the same
workaround -- so it looks legit to me.
The message is misleading, it should be probably "opened during process run
time". _vm_inited_fds's purpose is to track descriptors provided from "outside
environment", like stdin/out/err -- the JVM has no a chance to handle them,
they are granted. The /var/.../passwd on the other hand appears after JVM/JDK
platform initialized, so something in its execution made the desriptor appear.
Is it correct that the file is generated a dynamically and may change over
time? If so, allowing the the fd will render images of CRIU-based
implementations unusable, so the check played a role of a safety guard of the
JVM itself. This happened for every file descriptor open by JVM, like jcmd
channel or perfdata file -- before the CRaC-specific code was added for them.
In theory /var/.../passwd may be workarounded on the JVM side as well -- for
example, avoiding perfdata, avoiding getpuid at all, the custom /etc/passwd
scan,.. We don't want JVM to cache because the cache may become outdated after
image was created. The /etc/nsswitch.conf is a direct configuration, so looks
good. The downside is that is is a global config.
More information about the crac-dev