Skip to content

Crashes & Recovery

The Application Crashed — What Happens Next?

Exaplay 3 includes an Auto-Heal system and a Watchdog Service that work together to recover automatically from crashes.

Automatic Recovery Timeline

Exaplay Watchdog Recovery Flow

If Auto-Heal is properly configured, the black screen should last 10–20 seconds before playback resumes automatically.


Checking the Watchdog Service Status

If recovery did not happen, verify the Watchdog Service is running:

powershell
# Check status
Get-Service -Name "Exaplay3Watchdog"

# Start it if stopped
Start-Service -Name "Exaplay3Watchdog"

# Restart it
Restart-Service -Name "Exaplay3Watchdog"

Or via Services (services.msc) — look for Exaplay 3 Watchdog.


Manual Recovery After a Crash

If automatic recovery fails, or if you want to restart manually:

  1. Check the system tray — the Exaplay icon may still be present (zombie process).
  2. Right-click the tray icon and choose Exit, or kill the process in Task Manager.
  3. Restart Exaplay normally. If Auto-Heal state exists, it will offer to restore playback.
  4. To ignore the auto-heal state and start fresh, use the -fresh flag:
    exaplay3.exe -fresh

Reading the Crash Log

The engine log is at:

Documents\Exaplay3\logs\exaplay3.log

Useful sections to look for:

Log entryMeaning
[ERROR] GL_OUT_OF_MEMORYVRAM exhausted — reduce media load
[ERROR] Failed to open mediaA media file is corrupt or inaccessible
[CRASH] Access violation at 0x…Unexpected internal error — share with support
[WATCHDOG] Restart triggeredWatchdog detected the crash and restarted
[AUTOHEAL] State restoredAuto-Heal successfully resumed playback

Auto-Heal State File

The state file at Documents\Exaplay3\logs\autoheal\autoheal_state.json shows what Exaplay was doing when it crashed:

json
{
  "project.path": "C:\\Shows\\Festival.vpp",
  "project.name": "Festival",
  "playback.active": true,
  "playback.composition": "Main",
  "playback.time": 125.45,
  "playback.cue-index": 3,
  "playback.cue-time": 45.20,
  "timestamp": "2026-02-20T22:14:33Z"
}
  • playback.time — the timecode (in seconds) when the crash occurred
  • timestamp — when the state was last saved (should be within the last 2–5 seconds of uptime)

Repeated Crashes

If Exaplay crashes repeatedly (more than 3 times within 5 minutes), the Watchdog stops auto-restarting to prevent a restart loop. This is the Max Restarts safety limit.

To investigate repeated crashes:

  1. Review the engine log for patterns — do crashes always happen at the same timecode, or when a specific clip plays?
  2. Try loading the project with exaplay3.exe -fresh (skips auto-heal restore).
  3. Try disabling frame blending on clips near the crash timecode.
  4. Update the GPU driver — many GL crashes are caused by outdated drivers.
  5. If the crash is consistently reproducible, report it with the log and project file.

Disabling Auto-Heal Temporarily

To start Exaplay without restoring the last auto-heal state:

exaplay3.exe -fresh

This does not disable Auto-Heal for the session — it will continue saving state. It only skips the restore of the previous state.

To disable Auto-Heal entirely for a session:

  1. Open Settings → Auto-Heal.
  2. Set Enable Auto-Heal to OFF.

Warning: Disabling Auto-Heal means crashes will not be recovered automatically. Only disable for debugging purposes.


Reporting a Crash

When reporting a crash to support, include:

  1. The engine log (Documents\Exaplay3\logs\exaplay3.log)
  2. The autoheal_state.json file
  3. Windows Event Viewer → Application log entries around the crash time
  4. Exaplay version (burger menu → About)
  5. GPU driver version (Device Manager → Display Adapters)
  6. Steps to reproduce the crash (if known)

Exaplay 3 User Documentation