Skip to content

[BUG] SQLite session creation fails after microVM snapshot restore #3003

Description

@pmuir

Problem

A kagent Go ADK agent uses a SQLite session database at /data/sessions.db. After restoring a Cloud Hypervisor backed microVM snapshot taken while the database connection is open, the agent becomes available, but its first message fails:

failed to create session: ... attempt to write a readonly database (1032)

SQLite reports SQLITE_READONLY_DBMOVED: the database path no longer identifies the file held by the open connection. The failure occurs before the model call.

Steps to Reproduce

  1. Configure a Go ADK agent to store sessions in SQLite under /data.
  2. Start the agent and take a Cloud Hypervisor backed microVM snapshot while the database connection is open.
  3. Create a session that restores the agent from the snapshot.
  4. Send the session’s first message.

Expected Behavior

The agent creates the session and handles its first message after restore.

Actual Behavior

Session creation fails with SQLite error 1032.

Environment

Go ADK agent with a SQLite session store, using Cloud Hypervisor microVM snapshot/restore. This is not a gVisor workload.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions