Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

sysbox-fs hangs in fuse_flush (D-state hung_task) — wedges host with ~50 stuck runc tasks [Debian 13, kernel 6.12]

Aperta
#1,018 4 commenti 3 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
docker, linux

Direzione di ricerca

Inizia dal percorso FUSE di sysbox-fs coinvolto dallo stack del kernel, in particolare dall’attesa di fuse_flush, e verifica le versioni segnalate di Debian 13, kernel 6.12, Docker e sysbox-fs. Se il problema si ripresenta, raccogli dmesg, ps -eo pid,stat,wchan,args, docker info e le tracce dei task bloccati; il lavoro è concluso quando viene identificata una causa riproducibile o una mitigazione confermata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

On a host running Coder workspaces as unprivileged Docker-in-Docker via Sysbox, sysbox-fs got stuck in fuse_flush (kernel hung_task), wedging the whole host: load average ~50 while the CPU was ~100% idle and RAM was free. About 50 processes were stuck in uninterruptible sleep (D state) and could not be killed (not even kill -9). systemctl restart docker also hung in D. Only a full host reboot recovered it — and the ordered shutdown itself took ~6 minutes fighting the D-state tasks before forcing.

Environment

  • sysbox-ce / sysbox-runc 0.7.0 (commit a4dd414f7b9b7455c0fbf0d5e5db7bcfe30645bc, built 2026-03-03)
  • OS: Debian GNU/Linux 13 (trixie)
  • Kernel: 6.12.90+deb13.1-amd64 (idmapped mounts, no shiftfs)
  • Docker 29.4.2, runc 1.3.5; sysbox-runc registered as a runtime in daemon.json
  • VM, 8 vCPU / ~23 GiB RAM, dedicated to Coder workspaces (DinD, unprivileged)

I'm aware Debian 13 + kernel 6.12 is outside the officially supported matrix — flagging in case it's relevant to the FUSE path.

Symptom — kernel hung_task in fuse_flush

sysbox-fs (tgid 886, the daemon) and then every runc:[INIT|PARENT|CHILD] trying to start/operate workspaces blocked for >120s, all parked on fuse_flush:

INFO: task sysbox-fs:<pid> blocked for more than 120 seconds.
task:sysbox-fs       state:D stack:0     pid:<pid> tgid:886   ppid:1   flags:0x00000002
Call Trace:
 __schedule+0x505/0xc00
 schedule+0x27/0xf0
 fuse_flush+0xe8/0x1e0
 ? __lruvec_stat_mod_folio+0x83/0xd0
 ? __folio_mod_stat+0x26/0x80

INFO: task runc:[0:PARENT]:<pid> blocked for more than 120 seconds.
Call Trace:
 __schedule+0x505/0xc00
 schedule+0x27/0xf0
 fuse_flush+0xe8/0x1e0
 ...

The same set was re-reported at 120 / 241 / 362s until Future hung task reports are suppressed. Note the fuse_flush frame sits on top of folio memory-accounting (__lruvec_stat_mod_folio / __folio_mod_stat).

Impact

  • Host effectively unusable: ~50 tasks in D, mostly runc:[0:PARENT] / runc:[1:CHILD] (spawned by containerd to start/exec workspaces) plus coder stat disk.
  • CPU ~100% idle, RAM free, iowait 0 — the load (~50) was entirely D-state tasks, so it was invisible to CPU/memory monitoring.
  • systemd restarted the sysbox-fs daemon, but that did not free the already-stuck tasks (they stayed attached to the wedged FUSE mount).
  • systemctl restart docker / service docker restart also hung in D.

Recovery

Only a full host reboot cleared the D-state processes.

Reproducibility

No deterministic repro — it happened under normal workspace usage (starting/operating a DinD workspace) after ~14 days of uptime. It has not recurred since the reboot.

Questions

  1. Is this a known sysbox-fs deadlock in fuse_flush on kernel 6.12 / Debian 13 (or generally outside the supported matrix)?
  2. Any recommended mitigation (specific kernel version, sysbox-fs mount/config option) short of changing the host distro/kernel?
  3. Anything specific worth capturing if it recurs (it's intermittent)?

Happy to provide more detail — full dmesg, ps -eo pid,stat,wchan,args of the stuck tasks, docker info, etc.

Lingua principale
Shell
Stelle
3.9k
Fork
237
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nestybox/sysbox

Tutte le issue di nestybox/sysbox

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.