Kubo migration cannot stop an alpha.25 daemon that outlived Runtime (--enable-gc ignores API shutdown)
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
- 42/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- linux, rust
- Domínio
- backend, operating-systems
Direção de pesquisa
Start in retire_online_coord and trace how it verifies daemon ownership, sends /shutdown, and handles the five-second wait; the issue also points to update_controller/child.rs and scripts/mac-source-home-restart.sh. Run the real-Kubo test with its daemon started using --enable-gc to reproduce the failure. Done means the owned daemon is stopped after accepting shutdown, the test covers that case, and the source-Home restart stops the gateway process group.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Found 29 Oct while testing the 0.8.0-alpha.26 candidate (8a74b669c).
What happens: Kubo started with --enable-gc (every alpha.25 and alpha.26 daemon) answers /api/v0/shutdown with 200 but does not exit until a second interrupt. The offline migration (retire_online_coord, capsules/ipfs-provider) relies on that API shutdown, so if an alpha.25 online daemon is still running when the new Runtime starts, the migration refuses every start and local IPFS stays unusable until a reboot or a manual kill; the old daemon keeps running online.
Why it does not affect normal installs: the installed stop and elastos update kill Runtime's whole process group (update_controller/child.rs), which includes Kubo, so the old daemon is gone before the new Runtime starts. CI update journeys pass. It shows only when a daemon survives outside that, e.g. after a crash or on source Homes (scripts/mac-source-home-restart.sh signals only the gateway pid).
Fix (0.8.1): in retire_online_coord, after a daemon proven to be ours (our PeerID from /id, holds our repo lock) accepted /shutdown and is still alive after 5 s, send it one SIGTERM (Kubo's own second-interrupt force stop); keep the refusal if it still runs. Make the real-Kubo test start its online daemon with --enable-gc so it fails before the fix. Also have the source-Home restart script stop the gateway's process group.
- Linguagem predominante
- Rust
- Estrelas
- 6
- Forks
- 2
- Merge médio
- 1d 3h
- PRs com merge (30d)
- 42
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de elastos/elastos-runtime
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
elastos/elastos-runtime#563 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
elastos/elastos-runtime#508 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
elastos/elastos-runtime#436 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
elastos/elastos-runtime#427 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
elastos/elastos-runtime#405 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de elastos/elastos-runtime
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
quarto-dev/q2#1155 ·
Mantenedores costumam responder em até 1 dia
-
backlog priority: low ui
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
storytold/vectorcraft#6445 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
area: cli kind:docs priority: P3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
tursodatabase/libsql#2312 ·
Mantenedores costumam responder em até 11 dias
-
`NodeOwned::size_in_bytes` does not count the `ChildrenNodesOwned` heap allocation (since #216)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
paritytech/trie#251 ·
Mantenedores costumam responder em até 1 dia