Invisible files
In Linux files may be inaccessible for open() but still be present in the system. This can happen in several ways and this page is about how this can happen and what CRIU does about it.
How file can lose it's path
This is pretty simple. A process may do this series of operations
int fd = open("/foo/bar"); unlink("/foo/bar");
After it the /foo/bar file will have its name removed from the filesystem tree (and from the on-disk data too), but since the file is still held by the process (this structure is explained in the article about dumping files), the blob with data itself is still there.