CheckpointOpenFileException for /var/lib/sss/mc/passwd

Anton Kozlov akozlov at
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 mailing list