Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

fspy aborts every cached task under QEMU user-mode emulation (arm64 on x86-64)

Aberta
#879 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
docker, rust
Domínio
backend, cli

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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?

Linguagem predominante
Rust
Estrelas
480
Forks
50
Merge médio
1d 3h
PRs com merge (30d)
62

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de voidzero-dev/vite-task

Todas as issues de voidzero-dev/vite-task

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.