Back to blog

cPanel troubleshooting: fixing `.lock` stalls and domain add failures

1/24/2026 · 2 min · cPanel

Share

When Addon Domain or DNS zone creation hangs in WHM, the issue is often backend locking rather than GUI instability.

Typical symptom

You may see:

What happens under the hood

cPanel domain/DNS operations usually trigger a hook chain:

If any post-hook task stalls, the flow can stay locked.

Common root cause: active webcalls lock

File involved:

/var/cpanel/webcalls/.lock

It prevents concurrent conflicting actions. A stuck process can hold this lock and block new requests.

Important: deleting .lock without stopping the owner process is unsafe and usually temporary.

Remediation workflow

1) Find lock owner PID

lsof /var/cpanel/webcalls/.lock

or:

fuser /var/cpanel/webcalls/.lock

2) Inspect process before kill

ps -p PID -f

Confirm it is stalled (timeout/loop) and not a valid in-flight operation.

3) Release stalled process

kill -9 PID

Once owner PID is gone, lock clears and queue processing resumes.

Helpful diagnostic signal

Messages like:

Cpanel::FileUtils::Flock ... destroyed at global destruct! ... DestroyDetector.pm

often indicate lock cleanup failure due to abnormal process lifecycle.

Preventive practices

  1. Audit custom hooks in domain/DNS lifecycle.
  2. Monitor disk/inode pressure to avoid queue side effects.
  3. Keep periodic cleanup jobs for logs/trash.
  4. Tune timeout for external integrations in hook chain.

.lock incidents in cPanel are usually process-concurrency failures. The robust fix is PID-first: identify owner, validate context, then release safely. This restores domain/DNS operations without introducing new inconsistencies.

CC BY-NC

This post is licensed under CC BY-NC.

Comments

Join the discussion below.