Skip to content

Troubleshooting

Request to <url> failed

Request failures are surfaced as RuntimeError.

Check:

  • Server URL correctness (HAVOC_URL or CLI config)
  • Server availability
  • Network reachability/VPN
  • API path exposure (/api/...)
SSL verification failure

If using HTTPS with self-signed/internal certs:

  • During havoc setup, choose to disable SSL verification
  • Or pass verify_ssl=False to HavocClient

Use this only in trusted environments.

Authentication failures (401/403)

Check:

  • API key is valid and not expired/revoked
  • HAVOC_API_KEY is set correctly (no accidental prefix/suffix spaces)
  • Stored CLI token in ~/.config/havoc/config.json
submit says file is not ELF

Current CLI only supports ELF submission path.

What to do:

  • Ensure firmware file begins with ELF magic
  • For raw binaries, use Python API and construct ImageFormat(Raw=...)
submit says machine type mismatch

For --mcu cortexm, CLI expects ELF e_machine == 40 (EM_ARM).

Confirm architecture/toolchain output:

file your-firmware.elf
Debugger command failures

If ReplayDebugger operations fail:

  • Verify run/testcase IDs are valid
  • Ensure debug session was started for that testcase
  • Confirm command/state compatibility (for example, stepping after terminal exit reason)
Testcase input parse errors

TestcaseInput.from_bytes validates format and can raise ValueError for:

  • invalid magic/version
  • malformed headers
  • too many channels
  • oversized channel payload

If this occurs with server-generated data, verify SDK/server version compatibility.

Notes

  • havoc_common_schema.py is generated; do not hand-edit.
  • tests/ in this repository snapshot currently has no executable suite.