Skip to content

Checkpoint fails for containers with deleted-but-open files in --overlay2=none mode #11425

@andrew-anthropic

Description

@andrew-anthropic

Description

We're seeing issues when checkpointing some workloads where applications in the container are keeping file descriptor open to a deleted file. It seems like this is a common pattern in many third-party applications, making it a significant operational issue. Would it be possible to support this, or at least provide a flag to make this more of a "warning" rather than aborting the checkpoint entirely?

Error Message:

encoding error: gofer.dentry(...).beforeSave: deleted and invalidated dentries can't be restored

Example Paths:
We've seen this with various applications, including:

  • Browser temp files: /tmp/.org.chromium.Chromium.uG5Ddr
  • Graphics applications: root/.xpaint/tmp/XPaint-oEMdmH
  • NPM logs: root/.npm/_logs/2025-01-30T17_48_32_236Z-debug-0.log
  • Application startup files: root/startup
  • Language runtimes: /tmp/language-exchange

Here is a copy of the stacktrace

Steps to reproduce

No response

runsc version

version release-20240916.0

docker version (if using docker)

uname

No response

kubectl (if using Kubernetes)

repo state (if built from source)

No response

runsc debug logs (if available)

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions