Voltar para blog

Troubleshoot cPanel: resolvendo travas no `.lock` e falhas na adição de domínios

24/01/2026 · 2 min · cPanel

Compartilhar

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:

O que acontece internamente

No cPanel, rotinas como adição de domínio e DNS passam por scripts/hook chain:

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

  1. Audite hooks customizados que executam após criação de domínio/DNS.
  2. Monitore disco e inode para evitar efeitos colaterais em locks e filas.
  3. Mantenha limpeza periódica de logs/lixeiras via cron.
  4. 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.

CC BY-NC

Este post está licenciado sob CC BY-NC.

Comentários

Participe da discussão abaixo.