Skip to content

[Bug]:Crash on macOS when opening Voice Wake / selecting microphone (SIGABRT in AVAudioEngine InstallTapOnNode; may enter crash loop after mic disconnect) #8831

@JohnLyonX

Description

@JohnLyonX

Summary

OpenClaw.app crashes (SIGABRT) when entering Voice Wake / microphone-related settings or when Voice Wake attempts to start after a microphone device disconnects. After the first crash, the app can get stuck in a crash loop on launch if voice wake is enabled.

Steps to reproduce

  1. Launch OpenClaw.app.
  2. Open Settings → Voice Wake (or any screen that initializes microphone/Voice Wake).
  3. Select/switch the microphone input device (especially USB/Bluetooth devices).
  4. Disconnect the selected microphone device (or otherwise cause the input device to become unavailable).
  5. Observe OpenClaw.app crash. In some cases, subsequent launches crash immediately if Voice Wake remains enabled.

Expected behavior

  • OpenClaw.app should not crash when the microphone device changes or disconnects.
  • If the selected microphone becomes unavailable, the app should gracefully fall back to the system default input device, or show an error and keep running.
  • Voice Wake should recover and continue listening after device changes.

Actual behavior

  • OpenClaw.app crashes with EXC_CRASH (SIGABRT) / Abort trap: 6.
  • Crash backtrace consistently points to Voice Wake initialization:
    • VoiceWakeRuntime.start(with:)
    • VoiceWakeRuntime.refresh(state:)
    • AVAudioEngineImpl::InstallTapOnNode(...)
    • -[AVAudioNode installTapOnBus:bufferSize:format:block:]

Environment

  • Clawdbot version: OpenClaw.app 2026.2.2 (8809)
  • OS: macOS 26.2 (25C56)
  • Install method (pnpm/npx/docker/etc): OpenClaw macOS app (/Applications/OpenClaw.app) (Gateway installed via the standard OpenClaw install on macOS)
exception: EXC_CRASH (SIGABRT)
termination: Abort trap: 6
lastExceptionBacktrace:
  AVAudioEngineImpl::InstallTapOnNode(...)
  -[AVAudioNode installTapOnBus:bufferSize:format:block:]
  VoiceWakeRuntime.start(with:)
  VoiceWakeRuntime.refresh(state:)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions