[PR #48] [MERGED] fix(gc): spare support containers owned by a running managed container (#47) #48

Closed
opened 2026-10-15 12:51:37 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/LXC2Docker/pull/48
Author: @JBailes
Created: 6/4/2026
Status: ✅ Merged
Merged: 6/4/2026
Merged by: @JBailes

Base: main ← Head: fix/gc-spare-managed-owner-on-main


📝 Commits (1)

  • b167381 fix(gc): spare support containers owned by a running managed container (#47)

📊 Changes

1 file changed (+20 additions, -11 deletions)

View changed files

📝 internal/lxc/manager.go (+20 -11)

📄 Description

The GC's orphan detector reaps generic support containers (e.g.
WolfPulseAudio) when there are no session containers and no running
Proxmox CT. The guard only recognised a PVE CT (VMID > 0) as a possible
owner, so when the owner runs as a SmoothNAS-managed LXC2Docker container
(io.smoothnas.managed=true, VMID=0) — e.g. Wolf started as a managed
container rather than a PVE CT — the support container it spawns at boot
is reaped ~one GC cycle later, while the owner is still running and idle
(no Moonlight session yet).

For Wolf this kills WolfPulseAudio ~20s after start; Wolf's pulse
connection then drops and Wolf crashes, crash-looping every cycle.

Generalise the guard from pveCTRunning to ownerRunning: a running
Proxmox CT OR a running managed container counts as an owner. The
io.smoothnas.managed label is already special-cased a few lines above to
exempt the owner itself from GC, so this is consistent.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/LXC2Docker/pull/48 **Author:** [@JBailes](https://github.com/JBailes) **Created:** 6/4/2026 **Status:** ✅ Merged **Merged:** 6/4/2026 **Merged by:** [@JBailes](https://github.com/JBailes) **Base:** `main` ← **Head:** `fix/gc-spare-managed-owner-on-main` --- ### 📝 Commits (1) - [`b167381`](https://github.com/games-on-whales/LXC2Docker/commit/b1673810cdeb4c1ea66f62facbcbb466e0b2c4e6) fix(gc): spare support containers owned by a running managed container (#47) ### 📊 Changes **1 file changed** (+20 additions, -11 deletions) <details> <summary>View changed files</summary> 📝 `internal/lxc/manager.go` (+20 -11) </details> ### 📄 Description The GC's orphan detector reaps generic support containers (e.g. WolfPulseAudio) when there are no session containers and no running Proxmox CT. The guard only recognised a PVE CT (VMID > 0) as a possible owner, so when the owner runs as a SmoothNAS-managed LXC2Docker container (io.smoothnas.managed=true, VMID=0) — e.g. Wolf started as a managed container rather than a PVE CT — the support container it spawns at boot is reaped ~one GC cycle later, while the owner is still running and idle (no Moonlight session yet). For Wolf this kills WolfPulseAudio ~20s after start; Wolf's pulse connection then drops and Wolf crashes, crash-looping every cycle. Generalise the guard from pveCTRunning to ownerRunning: a running Proxmox CT OR a running managed container counts as an owner. The io.smoothnas.managed label is already special-cased a few lines above to exempt the owner itself from GC, so this is consistent. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:51:37 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/LXC2Docker#48
No description provided.