fspy aborts every cached task under QEMU user-mode emulation (arm64 on x86-64)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Start at crates/fspy_preload_unix/src/client.rs:33, where the issue reports the panic, and inspect how fspy reads /proc/self/stat fields 48–51. Reproduce with the provided arm64 Docker command using vp run --cache probe, then compare with --no-cache. Done means cached tasks no longer abort under QEMU user-mode emulation, while native cached runs continue to work.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Building an arm64 image on an x86-64 machine runs the arm64 Vite+ image under QEMU user-mode emulation, as docker buildx build --platform linux/arm64 does. There, any vp run with the cache on aborts before the task's command starts. fspy's preload reads the bounds of the arguments and environment from fields 48–51 of /proc/self/stat, but QEMU's emulation writes only the first 44 fields of that file (open_self_stat in linux-user/syscall.c). The read fails with EINVAL and the preload panics. A patch exposing all 52 fields was posted to qemu-devel in September 2025, but it isn't in QEMU's master.
With the official image, in a directory whose package.json has only "scripts": { "probe": "node -e \"console.log(42)\"" }:
docker run --rm --platform linux/arm64 -v "$PWD:/work" -w /work \
ghcr.io/voidzero-dev/vite-plus:1.3.0 vp run --cache probe
thread '<unnamed>' (37) panicked at .../vite-task-b9d2f8c2bec84a8f/9ba4cc9/crates/fspy_preload_unix/src/client.rs:33:57:
called `Result::unwrap()` on an `Err` value: Error(22)
qemu: uncaught target signal 6 (Aborted) - core dumped
The same command with --no-cache prints 42, and natively on amd64 the cached run works. QEMU 11.1.1, Docker 29.7.2.
We build our release images with --no-cache for now. Could fspy handle a /proc/self/stat without those fields, or run the task untraced, as without the cache?
- Lenguaje dominante
- Rust
- Estrellas
- 480
- Forks
- 50
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 62
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de voidzero-dev/vite-task
-
A task output archive larger than the remote cache server's request limit can never be storedAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
voidzero-dev/vite-task#888 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
voidzero-dev/vite-task#886 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
voidzero-dev/vite-task#884 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
voidzero-dev/vite-task#881 ·
Los mantenedores suelen responder en 1 día
-
vp run hangs after a failure when a cancelled task's detached descendant holds its IPC connectionAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
voidzero-dev/vite-task#878 ·
Los mantenedores suelen responder en 1 día
Todos los issues de voidzero-dev/vite-task
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
manuscript-lang/manuscript#1364 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
equinor/septic-config-generator#504 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
GiganticMinecraft/seichi-portal-backend#1633 ·
Los mantenedores suelen responder en 1 día
-
`printf "%o"` prints decimalAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
fable-compiler/Fable#5157 ·
Los mantenedores suelen responder en 1 día