Knowledge base

What to do after a crash

In Case of a Crash
Evidence must be collected while it still exists

After a crash, the pmtawatch watchdog tries to restart the engine and sends a crash message to the postmaster address. The manual asks to forward this message to support with a description of recent configuration or load changes.

On Unix a dump remains: it is saved, compressed if possible, in the PowerMTA directory on the /opt file system — keep it until the analysis.

The main trap is learning about a crash only from uptime. Without postmaster the watchdog’s message has nowhere to go, and an engine that came back up looks healthy: the crash shows only as a fresh start time, and the dump sits in /opt until someone deletes it.
What the Hub does. 🔴 The Hub does none of this: it does not mark a restart after a crash as a separate event — you can only see that the engine uptime in the monitor has reset — it does not collect dumps and does not keep reports. And the report email has nowhere to go — no postmaster address is set.
Recommended values

What to collect after a crash:

What Where Why
crash message the postmaster mailbox forward to support
dump the PowerMTA directory on /opt root cause analysis
recent changes configuration and load describe in the request
The watchdog, the crash message, the dump and what to forward come from the manual (§ 4.2.5, § 3.3.1.4); the dump directory is § 1.8. The table is ours.
Example configuration
# did the engine come up and when, is there a fresh dump
pmta show status | grep Statusls -lt /opt/pmta/ | head
A Started time later than the crash — the watchdog restarted the engine; a fresh file in /opt/pmta is the crash dump.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
Compatibility
PowerMTA 6.0
described in the manual of this version · platform: any
The vendor does not state the first version for every directive — there is no note here. The name also appears in the 5.0 edition of the manual.
How to check on the node
Check that the watchdog is in place:
ps -ef | grep -E '[p]mtad|[p]mtawatch'
Both processes — the node will come back up by itself after the next crash; pmtad without the watchdog — it will not.
In the Hub
Cost of a mistake
safe: a wrong value breaks nothing
Scenarios
High availability · Untangle a stuck queue