elfuse is killed by `SIGXFSZ` at startup under a host `RLIMIT_FSIZE` below 1 TiB
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 62/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- operating-systems
Direzione di ricerca
Start in guest_init in src/core/guest.c, where tmpfile_anon("slab") is followed by ftruncate(sfd, try_size), and read the existing fallback to MAP_ANON that the comment describes. Reproduce with (ulimit -f 4; build/elfuse build/test-hello; echo "status=$?") and confirm the process dies from SIGXFSZ. Done means that call fails with EFBIG and elfuse falls back, so the guest prints hello with status 0 under the same limit. Weigh the trade-off the issue names before choosing how to suppress the signal around that call.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
guest_init (src/core/guest.c) backs the primary slab with an unlinked temp file from tmpfile_anon("slab") and sizes it with ftruncate(sfd, try_size), which is 1 TiB on the first (40-bit) attempt. The comment above it says a failed step falls back silently to MAP_ANON. A host soft RLIMIT_FSIZE below the slab size makes that ftruncate raise SIGXFSZ instead, and the default action ends the process before the call can return EFBIG. So under any host file size limit below 1 TiB, elfuse is killed before the guest runs.
Reproducer (zsh, where ulimit -f counts 512-byte blocks):
(ulimit -f 4; build/elfuse build/test-hello; echo "status=$?")
| host limit | elfuse 8612033 |
|---|---|
ulimit -f 4 (2048 bytes) |
killed by SIGXFSZ, status 153, no guest output |
ulimit -f 2147483647 (1 TiB less 512 bytes) |
killed by SIGXFSZ, status 153 |
ulimit -f 2147483648 (1 TiB) |
prints hello, status 0 |
ulimit -f 4, with SIGXFSZ ignored in the parent shell (trap '' XFSZ) |
prints hello, status 0 |
The last row shows the fallback itself works once the call is allowed to fail: the limit is the same 2048 bytes and the guest runs. Ignoring SIGXFSZ around that ftruncate would be enough for the existing fallback to take over, at the cost the comment already names (fork then copies regions over IPC in place of passing the fd).
- Lingua principale
- C
- Stelle
- 273
- Fork
- 29
- Merge medio
- 2g 3h
- PR unite (30g)
- 14
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 sysprog21/elfuse
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 50/100
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di sysprog21/elfuse
Issue simili
-
Symlink in release archive attempts traversalForse già presa @Tiancheng-Xu l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
redis/hiredis#1388 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] Small issues on iMXRT found by ClaudeForse già presa @Sarthak-Pandey l’ha presa oggi. ApertaArch: arm Area: Networking OS: Linux Type: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
eclipse-cyclonedds/cyclonedds#2474 ·
-
Device in adb "no permissions" state is reported as "Could not find any ADB device" since 4.0Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Genymobile/scrcpy#7104 ·
I maintainer di solito rispondono entro 1 giorno
-
[ClaudeCode] /backport-commit should not run trigger-jenkins.sh on release-branch PRsForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertakind/new-feature
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
yugabyte/yugabyte-db#35142 ·
I maintainer di solito rispondono entro 1 giorno