WolfStack v25.20.1
v25.20.1: an LXC backup can no longer leave the container frozen
The nightly backup froze legolas on wolfstack-3 for 70+ minutes. backup_lxc
ran lxc-freeze around the snapshot instant; on cgroup2 the freezer sits in
FREEZING forever when a task cannot be frozen — the classic case is a
container running its own FUSE mount, whose client tasks cannot freeze until
the FUSE daemon answers while the daemon is being frozen with them.
lxc-freeze waits for FROZEN with no timeout, so the backup thread blocked at
.output(), the unfreeze on the next line never ran, and a service restart
left both the paused container and the hung lxc-freeze client behind
(systemd's KillMode keeps unit children alive across a restart).
Snapshot backups no longer freeze at all. A ZFS/btrfs snapshot is atomic and
point-in-time without the freeze — taken hot it is crash-consistent, the
same guarantee the hot-tar fallback has always accepted — and the container
is never paused, not even for the snapshot instant. On storage without
snapshot support the freeze was already released before tar started, so it
bought nothing there; the Proxmox path (vzdump) never used this code.
A recovery sweep now runs at boot (immediately — a frozen container is a
live outage) and hourly: any hung lxc-freeze client found in /proc is
killed, and a container left FROZEN/FREEZING is thawed with a bounded,
verified, retried lxc-unfreeze. That self-heals nodes still carrying frozen
state from a pre-25.20.1 binary across the upgrade.
Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: Wolf Software Systems Ltd paul@wolf.uk.com
Verifying this release
Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.
Verify the cosign signature:
cosign verify-blob \
--bundle wolfstack-x86_64.cosign.bundle \
--certificate-identity-regexp 'https://github.com/wolfsoftwaresystemsltd/WolfStack/\.github/workflows/release\.yml@.*' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
wolfstack-x86_64
Verify the build provenance:
gh attestation verify wolfstack-x86_64 --repo wolfsoftwaresystemsltd/WolfStack
Verify the SHA-256 checksum:
sha256sum -c SHA256SUMS
Artifacts
wolfstack-x86_64/wolfstack-aarch64/wolfstack-armv7— static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).wolfstack-<arch>.cosign.bundle— cosign signature bundle (cert + signature + Rekor entry).SHA256SUMS— checksums for both binaries.
For per-version history see CHANGELOG.md.