ZGC uses mapping to an anonymous file created through memfd for memory allocation. Since that FD is left open, CRaC would fail the checkpoint upon discovering this FD.
Memfd does not represent connection to the external environment (as long as it's not shared via fork or socket) and as such can be ignored; CRaC Engine should permit and checkpoint the open FD and reopen that during restore.
In addition to simply permitting this we should let ZGC release memory in order to minimize image footprint.
Memfd does not represent connection to the external environment (as long as it's not shared via fork or socket) and as such can be ignored; CRaC Engine should permit and checkpoint the open FD and reopen that during restore.
In addition to simply permitting this we should let ZGC release memory in order to minimize image footprint.
- links to
-
Review(crac) openjdk/crac/219