Skip to content

Crashes & Recovery ​

The Application Crashed — What Happens Next? ​

Exaplay 3 includes an Auto-Heal system and a Watchdog (part of Exaplay 3 Service) that work together to recover automatically from crashes. See Auto-Heal & Watchdog.

Automatic Recovery Timeline ​

Exaplay Watchdog Recovery Flow

Automatic recovery needs Watchdog Restart switched on (Menu → Auto-Heal & Watchdog); it is off by default. With it on, the black screen lasts for the Restart Wait (5 s by default) plus the time the engine needs to start and load the show, then playback resumes.


Checking the Watchdog ​

If recovery did not happen, verify that Exaplay 3 Service, which contains the Watchdog, is running:

  • Its tray icon is present, or exaplay3-service.exe is listed in Task Manager → Details.
  • If it is not running, start Exaplay 3 Service from the Start menu. It is not a Windows service, so it does not appear in services.msc; it starts from the Windows Startup folder when the user logs on.
  • Check that Watchdog Restart is on. It is a separate switch from Auto-Heal in the ☰ → Auto-Heal & Watchdog dialog (there is no Auto-Heal tab in Settings any more): Auto-Heal only saves the playback state, and with Watchdog restart off nothing restarts the engine to resume it.

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 Exaplay tray icon and choose Close Exaplay, or kill the process in Task Manager.
  3. Restart Exaplay normally. A normal start does not resume the auto-heal state; to resume it, start exaplay3.exe -autoheal-restore.
  4. To start in safe mode, right-click the Exaplay Service tray icon and choose Start Exaplay (safe mode, no project) — or from a command prompt:
    exaplay3.exe -fresh
    This boots the engine with an empty project — the startup project, the last-project autoload and any auto-heal state are all skipped. It is the way out when the configured project itself crashes the engine at startup. The flag changes nothing on disk, so fix the cause from inside the safe session (turn off autoload in Settings → Startup, or load a known-good project) — otherwise the next normal start autoloads the same project again. If the crash loop involves the Watchdog relaunching the engine, quit Exaplay 3 Service first (tray icon → Quit Exaplay Service) and check Task Manager → Details for a background exaplay3.exe (the engine is a tray process; no window does not mean it is not running). On a client, also disable the master's autoload before editing startup settings locally — the master re-applies its autostart configuration to every online client within seconds.

Reading the Logs ​

All logs are in Documents\Exaplay3\logs\:

FileWritten by
exaplay3_<date>T<time>.logThe engine — a new file for every start
exaplay3-service.logExaplay 3 Service (the Watchdog)
crash\exaplay3-crash-*.dmpThe engine, when it crashes
crash\exaplay3-hang-*.dmpThe Watchdog, when it detects a hang

Useful lines to look for:

Log lineFileMeaning
RESTART EXAPLAYserviceThe Watchdog relaunched the engine after it stopped
No restartserviceThe engine stopped and Watchdog Restart is off
CRASH LOOP DETECTEDserviceThree short-lived runs in a row — restarting is disabled
HANG DETECTEDserviceThe engine stopped writing its heartbeat
RENDER HANG DETECTEDserviceThe engine heartbeats but renders no frames
Auto-heal: Playback restored successfullyengineAuto-Heal resumed playback
Auto-heal: saved project path … does not match loaded …engineA different project loaded, so nothing was restored
Auto-heal: Display count changed from … to …engineA display was connected or disconnected (only with Notify Output Changes on; also shown in the Monitor)

Auto-Heal State File ​

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

json
{
  "project": { "path": "C:\\Shows\\Festival.vpp", "name": "Festival" },
  "playback": {
    "active": true,
    "composition": "Main",
    "time": 125.45,
    "cue-index": 3,
    "cue-time": 45.2
  },
  "playback.compositions": [
    { "name": "Main", "time": 125.45, "cue-index": 3, "cue-time": 45.2 }
  ],
  "timestamp": 1771625673,
  "show-mode": true,
  "video-mute": false,
  "audio-mute": false
}
  • playback.compositions — every composition that was playing, with its time (in seconds) and cue; playback repeats the first of them
  • timestamp — when the state was last saved, in seconds since 1970 (UTC); the file is checked every Save Interval (2 s by default) and rewritten when the state changed, and at least every 5 minutes while it stays the same

Repeated Crashes ​

If the engine dies three times in a row within 5 minutes of starting, the Watchdog stops auto-restarting to prevent a restart loop: the first restart resumes playback, the second starts in safe mode (empty project), and after the third it gives up. If the machine is paired with the VIOSO Cloud and Sentinel is on, a Crash loop alert is sent.

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. Update the GPU driver — many GL crashes are caused by outdated drivers.
  4. 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:

  1. Open Menu → Auto-Heal & Watchdog.
  2. Switch Auto-Heal off.

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


Reporting a Crash ​

For a problem that is still on screen, ☰ → Send log packs the end of the engine's current log, the output list, the fleet state and the version into one ZIP and saves it or mails it to support. After a crash the engine has restarted with a NEW log, so the crashed session's log is not in that package — attach the files below yourself.

When reporting a crash to support, include:

  1. The engine log of the session that crashed (Documents\Exaplay3\logs\exaplay3_<date>T<time>.log) and exaplay3-service.log
  2. The dump files in Documents\Exaplay3\logs\crash\
  3. The autoheal_state.json file
  4. Windows Event Viewer → Application log entries around the crash time
  5. Exaplay version (burger menu → About)
  6. GPU driver version (Device Manager → Display Adapters)
  7. Steps to reproduce the crash (if known)

Exaplay 3 User Documentation