sysbox-fs hangs in fuse_flush (D-state hung_task) — wedges host with ~50 stuck runc tasks [Debian 13, kernel 6.12]
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
- Ambito
- devops, infrastructure, operating-systems
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-runcregistered as a runtime indaemon.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, mostlyrunc:[0:PARENT]/runc:[1:CHILD](spawned by containerd to start/exec workspaces) pluscoder 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-fsdaemon, but that did not free the already-stuck tasks (they stayed attached to the wedged FUSE mount). systemctl restart docker/service docker restartalso hung inD.
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
- Is this a known
sysbox-fsdeadlock infuse_flushon kernel 6.12 / Debian 13 (or generally outside the supported matrix)? - Any recommended mitigation (specific kernel version, sysbox-fs mount/config option) short of changing the host distro/kernel?
- 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
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nestybox/sysbox
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 64/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
-
sysbox-fs zombie reaper can steal fusermount3 children during concurrent container creationForse già presa @rogerhu l’ha presa 26 giorni fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
0.7.1: /sys/class/net inside a sysbox container lists the host's interfaces, not the container'sAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Tutte le issue di nestybox/sysbox
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Link Checker ReportApertaautomated issue report
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
a2aproject/A2A#2387 ·
I maintainer di solito rispondono entro 4 giorni
-
Request: add Vibe TyperAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
curriculum documentation quality
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
githubnext/gh-aw-workshop#4965 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
ajeetdsouza/zoxide#1350 ·
I maintainer di solito rispondono entro 2 giorni