Skip to content
Impulse SoftwareDOCS
Get modules

ImpulseObjects

Troubleshooting

Common issues, what causes them, and where to look first. If your problem isn’t here, the Diagnostic Export under Diagnostics → Help is the fastest way to give support a complete picture.

Install

Almost always a missing or too-old ionCube Loader. The module’s PHP files are encoded and need ionCube Loader 13 or later; without it they fatal silently. Check with the PHP binary your WHMCS uses:

Terminal window
php -m | grep -i ionCube

If empty, install the loader for your PHP version (ioncube.com/loaders.php). Plesk and cPanel both offer it for their PHP builds — Plesk under Tools & Settings → PHP Settings, cPanel in WHM’s PHP extension settings.

Install

ImpulseCore isn’t installed or active, or is too old. ImpulseObjects depends on ImpulseCore 1.61.19+ for licensing, project membership, hook dispatch, the cron runner, audit, and the Security & Maintenance pipeline. Install or update the impulsecore addon, activate it under System Settings → Addon Modules, then re-activate ImpulseObjects.

Provision

Choose 📜 View bootstrap log from the server row’s menu. The module reads /var/log/impulse-bootstrap.log through the server’s Admin Proxy; if the proxy isn’t answering yet, it shows the output captured during provisioning. Most failures are one of:

  • Cloudflare API token missing permissions — Let’s Encrypt’s DNS-01 challenge fails and the server falls back to a self-signed certificate. The token needs Zone:DNS:Edit and Zone:Zone:Read; update it under Settings → DNS & TLS.
  • DNS hasn’t propagated — the challenge record wasn’t visible in time. Raise Settings → DNS & TLS → DNS-01 propagation seconds (default 60) to 120, then choose 🔒 Reissue TLS on the server row.
  • Block storage unavailable in the selected region — some regions don’t offer every volume type. Switch region or VPS plan.

A server that hasn’t come online within the provisioning timeout (30 minutes by default) is marked provision_failed. The provisioning task keeps checking failed servers, so one that finishes late still comes online. ↻ Retry provision restarts the wait without creating or billing anything new; 💥 Destroy server removes the VPS and its DNS records so you can provision again. Once a server is online, ⬆ Update server re-applies its setup through the Admin Proxy.

“Region has no eligible server for plan”

Section titled ““Region has no eligible server for plan””
Provision

The order stays Pending because: (a) no active, online server in the selected region, (b) all servers in that region are at their Max Tenants, or (c) the plan’s server restrictions exclude every server in the region. Orders are never placed in a different region. Check Infrastructure → Manage Servers for each region’s servers and capacity.

Runtime

ImpulseObjects’ background tasks (provisioning, usage, domains, migrations, alerts, suspension egress) run on ImpulseCore’s cron runner. If Diagnostics → Health Checks → Cron Jobs shows a red row, open ImpulseCore → Operations → Cron:

  • Automation & Setup shows whether the runner is ticking and the crontab line to install (modules/addons/impulsecore/cron/runner.php, every 5 minutes). Check the PHP binary path and WHMCS path in that line, and that the cron user can read the WHMCS configuration.
  • Without that line, ImpulseCore only runs tasks when WHMCS’s own cron fires — if WHMCS cron is broken too, that’s the same cron that runs your billing.

Replication tab is greyed out with a lock icon

Section titled “Replication tab is greyed out with a lock icon”
Runtime

The install is on the Standard tier. Replication is a Licensed feature. Paste your IOBJ- key under Addons → ImpulseCore → Modules & Licensing → Licenses and click Save. The tab unlocks as soon as the key validates.

Customer reports “SignatureDoesNotMatch”

Section titled “Customer reports “SignatureDoesNotMatch””
Customer

This is an S3 signing error. Almost always one of:

  • Wrong secret key (typo or truncated copy).
  • Wrong endpoint URL (must start with https://, no trailing slash).
  • Client using S3 signature v2 instead of v4. Configure the client for signature_version='s3v4' (boto3) or equivalent.
  • Client clock more than 15 minutes off UTC. Fix the client’s NTP sync.
Customer

Cloudflare for SaaS validates the customer’s CNAME before issuing the certificate. Check:

  • The CNAME record exists at the customer’s DNS provider.
  • The CNAME points exactly to the target shown in the customer’s client area.

The 15-minute domain poller picks up the validated state on the next tick, and the customer can click Check Status to check sooner.

Runtime

The snapshot freshness sweep raised an error-level alert because security_collect hasn’t refreshed a host’s snapshot in more than 3 days. Either the daily Core cron isn’t running (check ImpulseCore’s Cron tab), or the Collector errored on every recent attempt — the row shows the verbatim error. The most common cause is the server’s Admin Proxy not answering; check it with 📶 Test admin proxy on the server row.

Open a ticket at support.impulsesoftware.com or email [email protected], and include the Diagnostic Export from Diagnostics → Help — version info, system details, cron status, a settings summary with secrets masked, the database schema, servers, plans and recent activity. It contains no credentials or tokens.

Contact support Back to docs