Quando a criação de Addon Domain ou zona DNS “congela”, o problema nem sempre é na interface do WHM. Em muitos casos, existe um lock preso em backend que bloqueia as próximas operações.
O sintoma
Comportamento típico:
- tela de criação não conclui
- alterações não aparecem no sistema
- fila de restart de web service não fecha corretamente
O que acontece internamente
No cPanel, rotinas como adição de domínio e DNS passam por scripts/hook chain:
- scripts de domínio/zona
- standardized hooks
- reinício de serviço web (
restartsrv_httpdou equivalente)
Se um hook de pós-processamento trava, o fluxo inteiro pode ficar preso.
A causa comum: lock ativo em webcalls
Arquivo observado:
/var/cpanel/webcalls/.lock
Esse lock existe para evitar concorrência de chamadas. Quando um processo fica travado, novas ações ficam bloqueadas.
Importante: remover .lock sem tratar o processo que o mantém aberto pode recriar o problema imediatamente.
Procedimento de correção
1) Identifique o PID que segura o lock
lsof /var/cpanel/webcalls/.lock
ou:
fuser /var/cpanel/webcalls/.lock
2) Investigue o processo antes de finalizar
ps -p PID -f
Valide se é processo preso em timeout/loop e não uma tarefa crítica ativa.
3) Libere o travamento
kill -9 PID
Após encerrar o processo travado, o lock é liberado e a fila volta a progredir.
Mensagem útil de diagnóstico
Logs como abaixo indicam falha de destruição/limpeza de lock no fluxo Perl:
Cpanel::FileUtils::Flock ... destroyed at global destruct! ... DestroyDetector.pm
Isso reforça cenário de processo interrompido de forma anômala.
Boas práticas preventivas
- Audite hooks customizados que executam após criação de domínio/DNS.
- Monitore disco e inode para evitar efeitos colaterais em locks e filas.
- Mantenha limpeza periódica de logs/lixeiras via cron.
- Revise timeout de integrações externas que participam do fluxo.
Em cPanel, travas de .lock são sintomas de concorrência não finalizada. O caminho correto é identificar o PID, validar o contexto e só então liberar o processo. Essa abordagem evita inconsistência e restaura a operação com segurança.
Este post está licenciado sob CC BY-NC.
Comentários
Participe da discussão abaixo.
Comentários ainda não configurados. Adicione as opções do Cusdis em /assets/json/config/blog-comments-config.json.