id: "REQ-277" title: "Hotfix do atualizador pelo painel: trava órfã depois de erro fatal e memória da sincronização de dados" status: "implemented-pending-homologation" date: "2026-10-15" author: "executor" target_repo: "conn2flow" batch: "BATCH-286" topology: "dupla" autonomy: "autonomo_monitorado" release: "gestor-v3.0.5"
req-277: Hotfix do atualizador pelo painel
1. Ocorrência (15/10/2026, temp.conn2flow.com)
O Humano atualizou pelo admin-atualizacoes às 14:28. A etapa db morreu com
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted em bibliotecas/db-data.php:49
(sincronização de dados do site, que passa de 80 MB de JSON, dentro do PHP-FPM com memory_limit 128 MB).
Erro fatal não passa pelo catch nem pelo finalize/cancel: a trava temp/deploy.lock
(update-system, web, TTL 2 h) ficou presa e a nova tentativa respondeu "Outro deploy está em
execução neste ambiente". A trava foi removida à mão (backup em [REDACTED]).
Pedido do Humano: hotfix agora, na 3.0.5 — "se uma hora trava, ter algum jeito de cancelar e tentar de novo".
2. Escopo
-
Erro fatal libera a trava:
register_shutdown_functionnas etapas web (start,deploy,db) que, com erro fatal, marca a sessão como falha, registra a execução e libera a trava. -
Recursos das etapas pesadas:
memory_limitde pelo menos 1 GB e sem limite de tempo durantedeployedb(só nessas requisições). -
Processo morto: trava do mesmo servidor com PID inexistente (Linux,
/proc) conta como vencida. -
Liberar trava no painel: quando o
startrecusa por trava deupdate-system/web, a tela oferece "Liberar trava e tentar de novo" (com confirmação). Travas de pipeline e API não.
3. Aceite
-
[x] Etapa com erro fatal deixa a trava livre e a sessão marcada como falha.
-
[ ] Etapa
dbcom sincronização grande não estoura 128 MB (código no lugar; prova real na atualização dotemppelo painel). -
[x] Trava com PID morto no mesmo servidor é assumida no
start. -
[x] Botão de liberar aparece só para trava da atualização pelo painel e libera de fato.
-
[ ] PHPUnit, Lab, release 3.0.5 e atualização do
temppelo painel.